【问题标题】:Referencing a selected record in a datagrid from another datagrid从另一个数据网格引用数据网格中的选定记录
【发布时间】:2017-06-13 16:10:59
【问题描述】:

我在一个 ASPX 表单上有 2 个数据网格。当我单击 datagrid #2 中的记录时,我想引用 datagrid #1 中的一个单元格。

所以,目前当我选择一条记录时,我在代码隐藏中有这样的内容:

protected void DataGrid_ClaimSearch_EditCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
    try
    {
        string LPI_ID = e.Item.Cells[7].Text;
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }        
}

完美运行。现在,在我的第二个数据网格中,我想在第一个数据网格中引用一个单元格,所以我放了这个:

protected void DataGrid_ClaimDetail_EditCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
    DataGridItem dgi = DataGrid_ClaimSearch.SelectedItem;
    string LPIStatus = dgi.Cells[1].Text;
}

这会返回一个错误:

对象引用未设置为对象的实例。

string LPIStatus = dgi.Cells[1].Text; 行被突出显示。

当我点击我的第二​​个数据网格时,有什么想法可以引用我的第一个数据网格中的第一个单元格吗?

【问题讨论】:

  • 试试string LPIStatus = dgi.Cells[1].ToString();

标签: c# asp.net datagrid


【解决方案1】:

您必须在DataGrid_ClaimSearch_EditCommand 方法中为DataGrid_ClaimSearch 设置EditItemIndex

protected void DataGrid_ClaimSearch_EditCommand(object source, DataGridCommandEventArgs e)
{
    try
    {
        string LPI_ID = e.Item.Cells[7].Text;
        DataGrid_ClaimSearch.EditItemIndex = e.Item.ItemIndex;
        Response.Write(LPI_ID);
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }
}

现在您可以在DataGrid_ClaimDetail_EditCommand 方法中访问正确的DataGridItem

protected void DataGrid_ClaimDetail_EditCommand(object source, DataGridCommandEventArgs e)
{
    DataGridItem dgi = DataGrid_ClaimSearch.Items[DataGrid_ClaimSearch.EditItemIndex];
    string LPIStatus = dgi.Cells[1].Text;
    Response.Write(LPIStatus);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2022-01-03
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多