我倒是有个方法,楼主参考下吧
把Button的CommandArgument绑定数据为第一列的数据
点击按钮后触发GridView的RowCommand事件,在RowCommand事件里用e.CommondArgument可以取到第一列数据;
取值代码:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
TextBox1.Text = e.CommandArgument.ToString() ;
}
前台
沿用前面的回答
protected void Button2_Click(object sender, EventArgs e)
{
GridViewRow row = (sender as Button).NamingContainer as GridViewRow;
//获得该行索引
int index = row.RowIndex;
//获得该行主键值 GridView前面应设置过DataKeyNames属性
string key = GridView1.DataKeys[index].Value.ToString();
//执行你要的操作
}
我用的是datagrid vb.net实现,如下
.aspx页面:
AllowPaging="True" OnPageIndexChanged="MyDataGrid_Page" ShowFooter="false">
.aspx.cs页面:
Public Sub SelectedIndex_Changed(ByVal sender As Object, ByVal e As EventArgs) Handles dgField.SelectedIndexChanged
Dim strValue As Integer = dgField.SelectedItem.Cells(1).Text ‘这个是根据主键定位行,比如你上面应该是 dgField.SelectedItem.Cells(2).Text 吧?
.....’你这里的话应该可以根据strValue 查询出详细数据,再绑定另一个datagridview吧
End Sub
原理一样,改成c#也很简单。你可以参考一下