我尝试显示对象的集合(IEnumerable)(通过Linq到Sql生成)。因此,我将GridviewDataSource属性绑定到我的Linq to SQL方法的生成的输出。在SelectedIndexChangedGridView事件中,我尝试将选定的行DataItem转换回我的原始对象,但最终得到一个null值。

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    RlDataContext dc = new RlDataContext();
    this.dgvReports.DataSource = dc.GetReports(1);
    this.dgvReports.DataBind();
}

protected void dgvReports_SelectedIndexChanged(object sender, EventArgs e)
{
    if (this.dgvReports.SelectedIndex >= 0)
    {
        Report rpt = (Report)this.dgvReports.SelectedRow.DataItem;
    }
}


GetReports的返回类型为ISingleResult<Report>

最佳答案

在datagridview和列表之间使用绑定源。选择datagridview时,请使用bindingsource的Current属性从列表中获取正确的项目。

关于c# - 从GridView C#中的DataRow获取原始对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22300963/

10-10 15:58