Как избежать использования ячеек [x] в сетке данных при доступе к их значениям - PullRequest
0 голосов
/ 24 января 2012

Как избежать использования dataGrid.Rows [x] .Cells [y] .Value сетки данных при доступе к их значениям? Я хочу использовать описательные имена для ссылки на значения ячеек, а не на индексы.

Ответы [ 4 ]

1 голос
/ 24 января 2012

Каким будет описательное имя для элемента nth в Rows? Я думаю, что вы застряли с использованием индекса на основе 0, поскольку Rows не имеет индексатора на основе строк.

Получив DataGridViewRow, вы можете индексировать в ячейки, используя string значение:

foreach (var row in dataGrid.Rows) {
    var cell = row.Cells["someColumn"];
}
0 голосов
/ 24 января 2012

Если сетка данных поддерживает индексирование с именами столбцов, сделайте это следующим образом:

dataGrid.Rows[x].Cells["columnName"]

Я не уверен, поддерживает ли сетка данных этот синтаксис, если нет, то я считаю, что предпочтительным способом будет использование констант дляулучшить читаемость кода, например:

const int ColumnNameIndex = 0;
dataGrid.Rows[x].Cells[ColumnNameIndex];
0 голосов
/ 24 января 2012

Вы можете поместить все свои данные в класс и использовать привязку данных. См. Как: привязать данные к элементу управления Windows Forms DataGridView в MSDN.

Затем вы можете получить доступ к полям данных через ваши объекты данных

MyDataClass data = (MyDataClass)dataGrid.CurrentRow.DataBoundItem;
Console.WriteLine(data.LastName);
0 голосов
/ 24 января 2012

Попробуйте:

DataGridView.Rows[index].Cells["CellName"].Value;

CellName - это имя вашего столбца.Это работает для datagridview.Я не знаю о датагриде.

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