如何获取数据网格中单元格的值

本文关键字:网格 单元格 数据网 数据 何获取 获取 | 更新日期: 2023-09-27 18:35:53

尝试使用 C# 从我的 DATAGRID 获取 Cell 值 ASP.NET 我收到错误消息,指出"对象引用未设置为对象的实例"。这是我所拥有的:

foreach (DataGridItem dgItem in dgPrintTicket.Items)
{
    string itm = dgItem.Cells[1].FindControl("Item_Number").ToString();
}

谢谢

如何获取数据网格中单元格的值

要克服"对象引用未设置为对象的实例"错误,请将代码设置为 null 安全:

foreach (DataGridItem dgItem in dgPrintTicket.Items)
{
    var control = dgItem.Cells[1].FindControl("Item_Number");
    string itm = control != null ? control.ToString() : null;
}

但我想你应该尝试通过以下代码获取单元格的值:

foreach (DataGridItem dgItem in dgPrintTicket.Items)
{
    string itm = dgItem.Cells[1].Text;
}

如果确实存在 FindControl 找到的控件,请使用以下代码片段:

foreach (DataGridItem dgItem in dgPrintTicket.Items)
{
    var control = dgItem.Cells[1].FindControl("Item_Number") as Label;
    string itm = control != null ? control.Text : null;
}

dgItem.Cells[1].FindControl("Item_Number") 为空,ToString() 正在尝试将空 objecdt 转换为失败的字符串。您需要确保 A) 数据网格中至少有 2 列,并且 B) FindControl("Item_Number") 实际上会返回一些东西。