Обновление ячейки в DataGrid с использованием C # .net - PullRequest
0 голосов
/ 24 января 2011

Я обнаружил, что ListView очень медленный для моей программы. Поэтому я решил перейти на DataGrid.

До этого я использовал только перечисление данных из источника базы данных.

Я использовал следующий код для добавления новой строки в DataGrid:

        DataGridViewRow row = new DataGridViewRow();
        row.CreateCells(MyGrid);  
        row.Cells[0].Value = "1";  
        MyGrid.Rows.Add(row);
        row.Cells["Category"].Value = "Vegetables";
        row.Cells["Item"].Value = "Carrot";
        row.Cells["Price"].Value = "12.50";

Я использовал похожий шаблон для добавления новой строки для разных вещей. Также дайте мне знать, если есть какой-либо лучший способ для непосредственного добавления переменных в базу данных.

Главное, что я хотел знать, это как редактировать данные ячейки.

Например, у меня есть следующая таблица данных:

ID    ITEM     Price
1    item A     100
2    item B     120
3    item C     121
4    item D     103

И я хочу изменить значение цены элемента B с " 120 " на " 210 ". как мне этого добиться?

В ListView я искал столбец со значением элемент B и получил индекс цены столбца и заменил значение. Как я могу сделать то же самое в DataGrid.

Я использую C # .net

Дополнительные примечания: Созданный список является динамическим списком, и мне нужно найти ячейку со значением B , а затем изменить значение столбец цены соответствующей строки.

Ответы [ 2 ]

0 голосов
/ 24 января 2011

Сначала создайте пользовательский DataTable

DataTable dt = new DataTable();
dt.Columns.Add("Id",typeof(int));
dt.Columns.Add("Item",typeof(string));
dt.Columns.Add("Price",typeof(decimal));
dt.AcceptChanges(); // This is the point, where you can change dataTable items.

и добавьте свои элементы в строки DataTable, например:

foreach(var rowItem in blabla)
{
object[] row = new object[]
{
rowItem.Id,
rowItem.Item,
rowItem.Price
};
dt.Rows.Add(row);
}

, а затем привяжите dataTable к gridView

gridView1.DataSource = dt;

и теперь изменения, внесенные в gridView, также обновят ваш DataTable:)

0 голосов
/ 24 января 2011

Почему вы не можете связать свой список объектов данных с сеткой данных, и после того, как вам просто нужно изменить список объектов данных, и все готово!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...