I'v có một số vấn đề, tôi sử dụng DataTable để lưu trữ dữ liệu của tôi trong dataGridView. dữ liệu được inputed như thế này:C# cách thay đổi dữ liệu trong 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;
bây giờ tôi muốn làm một số thay đổi, tôi sử dụng mã:
dt.Rows[1].ItemArray[3] = "VALUE";
Khi tôi gỡ lỗi, ItemArray đại diện cho hàng tôi muốn, vì vậy okey của nó, nhưng Tôi vẫn không thể thực hiện bất kỳ thay đổi nào, có gì sai? Làm thế nào để cập nhật DataTable ??? Tôi googling và không có gì :(
+1 - Tôi đồng ý, đề xuất của bạn sạch hơn nhiều so với các ví dụ sử dụng mảng. Ví dụ của bạn cho phép xác định rõ ràng trường theo tên, thay vì trường được ngụ ý theo vị trí trong một mảng. Tôi nghĩ rằng việc sử dụng các mảng là giá rẻ và lười biếng. Nó chắc chắn nhất làm tăng nguy cơ lỗi trong thời gian bảo trì trong tương lai. Ngoài ra, nếu đối tượng bảng dữ liệu có nguồn gốc từ cấu trúc cơ sở dữ liệu và nếu cấu trúc cơ sở dữ liệu đó thay đổi, chẳng hạn như chèn một cột ở giữa định nghĩa bảng, việc sử dụng phương thức mảng sẽ có khả năng tạo ra lỗi thời gian chạy hoặc tệ hơn - dữ liệu bị hỏng không bị phát hiện. – barrypicker