我正在使用嵌套网格视图。第二个应该使用存储过程绑定。存储过程的参数为gridview1.selected
值,连接字符串应取自config.connection字符串。我的代码是:
SqlCommand cmd =
new SqlCommand("spname", new SqlConnection(Config.connectionstring));
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("parametername", GridView1.SelectedValue);
cmd.Connection.Open();
control.DataSource = cmd.ExecuteReader();
control.DataBind();
但它不起作用。有什么想法吗?
答案 0 :(得分:0)
您必须在之前的数据绑定gridview事件中对此进行编码,在这种情况下,您必须首先找到控件然后绑定数据。
答案 1 :(得分:0)
当Rows绑定数据时会触发RowDataBound事件。你必须这样做......
protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
System.Data.DataRowView dr = (System.Data.DataRowView)e.Row.DataItem;
String x = dr["yourColumnName"].ToString();
GridView gridView2 = (GridView)e.Row.Findcontrol("gridView2");//add this
gridView2.DataSource = Assign Data source here;
gridView2.DataBind();
}
}
答案 2 :(得分:0)
对我而言,您的代码中似乎存在缺陷。
1:您正在尝试传递GridView1.SelectedValue但在首次运行时,除非您明确设置,否则不会有SelectedRow。
2:每次gv2都是数据绑定时,它将使用相同的参数值,因为在任何时候只有一个SelectedRow,因此传递的SelectedValue将是相同的。
因此,请分享更多代码,如果可能的话,请提供一些预期结果的屏幕截图。