[ Abraxas @ 17.09.2004. 20:48 ] @
Pitanje je verovatno trivijalno za sve koji su se ovim vec bavili. Elem, jedan deo forme mi je objekat klase DataGrid, dataGrid1, ciji je source objekat klase DataTable, tabelaCekova. Iznad tog datagrida imam dva dugmeta. Jedno koristim za ubacivanje novog reda u tabelu, a drugo za izbacivanje. Navescu dogadjaje koji su vaze i za jedno i za drugo dugme kada se klikne na njih, mada mislim da je problem samo kod dugmeta za izbacivanje. Elem dogadjaj za kada se klikne na Ubaci: Code: private void btn_UbaciCek_Click(object sender, System.EventArgs e) { try { DataRow red = tabelaCekova.NewRow(); red["Br"] = 0; red["Mesec"] = "/"; red["Iznos"] = 0; tabelaCekova.Rows.Add(red); } catch (System.Data.ConstraintException exc) { MessageBox.Show("Ne mozete dodati novi red dok ne popunite prethodni"); } } Dogadjaj koji se "okida" kada se klikne na Izbaci: Code: private void btn_IzbaciCek_Click(object sender, System.EventArgs e) { try { tabelaCekova.Rows[dataGrid1.CurrentRowIndex].Delete(); } catch (System.IndexOutOfRangeException ex) { MessageBox.Show("Ne mozete brisati redove ako ih nema."); } } Problem je sto kada se izvrsi Delete() za obelezeni red, on se meni izbrise totalno, ne mogu vise da pristupim, a koliko sam ja u dokumentaciji razumeo on bi i dalje trebalo da postoji u DataRowCollection sve dok se ne izvrsi AcceptChanges() ?? Ja sam se nadao da ce on i dalje negde ostati, a da ce mu se samo promeniti RowState u Deleted, jer mi to treba kasnije da za azuriranje baze, da bih znao koje redove da izbrisem? Kako ovo da resim? |