我尝试显示对象的集合(IEnumerable
)(通过Linq到Sql生成)。因此,我将Gridview
的DataSource
属性绑定到我的Linq to SQL方法的生成的输出。在SelectedIndexChanged
的GridView
事件中,我尝试将选定的行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/