Mam pewien problem, używam DataTable do przechowywania moich danych w dataGridView. Dane inputed tak:C# jak zmienić dane w DataTable?
dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("par", typeof(string));
dt.Columns.Add("max", typeof(int));
dt.Columns.Add("now", typeof(int));
dt.Rows.Add(new object[] { id++,i + " " + j++, strarr[0], strarr[1] }); // ... etc etc
dataGridView1.DataSource = dt;
teraz chcę zrobić kilka zmian, używam kod:
dt.Rows[1].ItemArray[3] = "VALUE";
Kiedy debugowanie, tablicy ItemArray reprezentuje wiersz chcę, więc jego okey, ale wciąż nie mogę wprowadzić żadnych zmian, co jest nie tak? Jak zaktualizować DataTable ??? Ja googlowania i nic :(
+1 - Zgadzam się, Twoja sugestia jest znacznie czystsza niż w przykładach wykorzystujących tablicę. Twój przykład pozwala na wyraźną identyfikację pola po nazwie, a nie zaimplementowane pole według pozycji w tablicy. Myślę, że wykorzystanie tablicy jest tanie i leniwe. Z całą pewnością zwiększa ryzyko błędów podczas przyszłej konserwacji. Ponadto, jeśli obiekt tabeli danych pochodzi ze struktury bazy danych, a struktura bazy danych, w której należy dokonać zmiany, na przykład wstawienie kolumny w środku definicji tabeli, użycie metody tablicy może potencjalnie spowodować błąd czasu wykonywania lub gorzej - niewykryte uszkodzone dane. – barrypicker