我想单击gridview行事件获取该行并获得第一列然后根据第一列数据弹出另外一个gridview

2024-12-16 21:16:19
推荐回答(4个)
回答1:

我倒是有个方法,楼主参考下吧
把Button的CommandArgument绑定数据为第一列的数据
点击按钮后触发GridView的RowCommand事件,在RowCommand事件里用e.CommondArgument可以取到第一列数据;
DataSourceID="SqlDataSource1" onrowcommand="GridView1_RowCommand">



CommandArgument='<%# Eval("ID") %>' Text="查看">







取值代码:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
TextBox1.Text = e.CommandArgument.ToString() ;
}

回答2:

前台










style=" width:120%; height:120%;z-index: 1000px;position:absolute;left: 0px; top:0px; filter:alpha(opacity=90); background-color:#F2F2F2">
















后台
protected void Button2_Click(object sender, EventArgs e)
{
BindData();//给另一个gridview绑定数据源
this.dvv.Visible = true;//点击button显示gridview

}

回答3:

沿用前面的回答

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();

//执行你要的操作
}

回答4:

我用的是datagrid vb.net实现,如下
.aspx页面:
OnSelectedIndexChanged="SelectedIndex_Changed" PageSize="10" GridLines="Both"
AllowPaging="True" OnPageIndexChanged="MyDataGrid_Page" ShowFooter="false">


Font-Size="12px" PageButtonCount="5" />


HorizontalAlign="Center" />






.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#也很简单。你可以参考一下