繁体   English   中英

在动态生成的GridView中的SelectedIndexChanged事件期间访问SelectedRow的属性

[英]Accessing properties of SelectedRow during SelectedIndexChanged event in dynamically generated GridView

我在运行时绑定到LINQ qry结果的页面上有一个空的GridView对象。 GridView具有一个“选择”按钮,该按钮会触发SelectedIndexChanged事件,并且在此事件的内部,我想访问所选行中某个字段的数据。

到目前为止,我只能找到一种方法来执行此操作,并且它似乎不是最优的:

protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
{
  GridViewRow row = GridView2.SelectedRow;
  string UserID = row.Cells[1].Text;
  //Do stuff with the userID
}

因此,这仅基于单元索引直接访问单元数据。 UserID恰好位于第二个单元格中,因此可以正常工作。 但是后来,UserID可能不在同一列中。 似乎最好通过访问单元格的标头名称或通过除单元格索引本身以外的任何方法来查询此单元格的值。

有任何想法吗?

谢谢!

尝试这个


User user = (User)((DataRowView)row.DataBoundItem).Row;
int userID = user.UserID;

我假设您有一个名为User的类,并且将DataGridView绑定到可能的List

我对asp.net不太了解,但是在C#DataGridView中,您可以按列名直接索引列,即

string UserID = row.Cells["UserID"].Text;

或类似的东西。 也许值得尝试一下。

您可以使用以下代码来检索绑定到当前SelectedRow的对象。

DataTable dt = (DataTable)<GridViewControl>.SelectedRow.DataItem

(在这里,我假设Grid已与DataTable绑定。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM