如何从gridView中的特定字段获取参数,用于同一行的模板字段
本文关键字:字段 一行 用于 参数 gridView 获取 | 更新日期: 2023-09-27 18:05:41
我使用GridView来显示数据库中的数据,GridView被绑定到objectDataSource。gridview中的每一行都代表一个属于用户的项目,我想在gridview中添加另一个字段,以显示用户的详细信息(实际上是在数据库的另一个表中)。
我不知道什么是最好的方法,我试图添加到gridView一个TemplateField包含一个DetailView,并将其绑定到另一个objectdatasource,但我不知道如何从行-(userID字段)的特定字段中获取参数。
实际情况要复杂一些。您可以将userID设置为数据键,并在GridView的RowDataBound事件中绑定详细视图。
<asp:GridView ID="GridView1" runat="server" DataKeyNames="UserID" OnRowDataBound="GridView1_RowDataBound">
后面的代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//get the data key
int userID = (int)GridView1.DataKeys[e.Row.RowIndex]["UserID"];
//get the nested details view control
DetailsView dv = (DetailsView)e.Row.FindControl("DetailsView1");
dv.DataSource = GetUserDetailsTable(userID); //your data source
dv.DataBind();
}