访问其值时,避免在数据网格中使用Cells [x]

时间:2012-01-24 14:56:15

标签: c# datagridview

如何在访问数据时避免使用dataGrid.Rows [x] .Cells [y] .Value数据网格?我想使用描述性名称来引用单元格值,而不是索引。

4 个答案:

答案 0 :(得分:1)

Rows第n 项的描述性名称是什么?我认为你坚持使用基于0的索引,因为Rows没有基于字符串的索引器。

获得DataGridViewRow后,您可以使用string值为单元格编入索引:

foreach (var row in dataGrid.Rows) {
    var cell = row.Cells["someColumn"];
}

答案 1 :(得分:0)

尝试:

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

CellName是您的列名。这适用于datagridview。我不了解datagrid。

答案 2 :(得分:0)

您可以将所有数据放入类中并使用数据绑定。请参阅MSDN上的How to: Bind Data to the Windows Forms DataGridView Control

然后,您可以通过数据对象访问数据字段

MyDataClass data = (MyDataClass)dataGrid.CurrentRow.DataBoundItem;
Console.WriteLine(data.LastName);

答案 3 :(得分:0)

如果datagrid支持使用列名进行索引,请按以下方式执行:

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

我不确定datagrid是否支持这种语法,如果没有,我认为首选的方法是使用常量来获得更好的代码可读性:

const int ColumnNameIndex = 0;
dataGrid.Rows[x].Cells[ColumnNameIndex];