Hi
I have a dataSet(dataServer) with a table called Vehicles. I want to know when a this table is changed. Like adding new row or a row changed.
interfaceIL.dataServer.Vehicles.TableNewRow += new DataTableNewRowEventHandler(Vehicles_TableNewRow);
...
interfaceIL.dataServer.Vehicles.VehiclesRowChanged += new DataSetServer.VehiclesRowChangeEventHandler(Vehicles_VehiclesRowChanged);
...
void Vehicles_TableNewRow(object sender, DataTableNewRowEventArgs e)
void Vehicles_VehiclesRowChanged(object sender, DataSetServer.VehiclesRowChangeEvent e)
{
AppendVehicleToListView(e.Row);
}
void Vehicles_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
AppendVehicleToListView(e.Row);
}
private void AppendVehicleToListView(DataRow r)
{
string[] elements = new string[3];
elements[0] = r[0].ToString();
elements[1] = r[1].ToString();
elements[2] = r[2].ToString();
ListViewItem lvItem = new ListViewItem(elements);
listViewVehicles.Items.Add(lvItem);
listViewVehicles.EndUpdate();
}
Problem: TableNewRow doesn't work. Second, in RowChanged, listing in listview give the argument two time. As example if i add a element, in listview it adds 2 elements. In the real dataServer.Vehicle is only one element. What i'm doing wrong with these events?
I think the elemente e DataTableNewRowEventArgs e gives us the added row, and the RowChangedEventArgs e the changed Row.
Regards