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

另外一个gridview的数据就是我点击那行的第一个单元格为条件查出来的数据,要有aspx和aspx.cs的代码,能够点击按钮也行,只要可以弹出另一个gridview... 另外一个gridview的数据就是我点击那行的第一个单元格为条件查出来的数据,要有aspx和aspx.cs的代码,能够点击按钮也行,只要可以弹出另一个gridview 展开
 我来答
jeffrey_1989
2011-07-26
知道答主
回答量:23
采纳率:0%
帮助的人:16.4万
展开全部
我倒是有个方法,楼主参考下吧
把Button的CommandArgument绑定数据为第一列的数据
点击按钮后触发GridView的RowCommand事件,在RowCommand事件里用e.CommondArgument可以取到第一列数据;
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandArgument='<%# Eval("ID") %>' Text="查看"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>

取值代码:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
TextBox1.Text = e.CommandArgument.ToString() ;
}
liquan180
2011-07-26 · 超过48用户采纳过TA的回答
知道答主
回答量:170
采纳率:0%
帮助的人:130万
展开全部
前台

<asp:GridView ID="GridView2" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<div id="dvv" runat="server" visible="false"
style=" width:120%; height:120%;z-index: 1000px;position:absolute;left: 0px; top:0px; filter:alpha(opacity=90); background-color:#F2F2F2">
<br /><br /><br /><br /><br /><br /><br /><br />
<br />
<asp:GridView ID="GridView3" runat="server">
</asp:GridView>

</div>

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

}
追问
现在最关键是我怎么才能获取单元格了,因为我要根据单元格查询另外一个表
追答
" runat="server" onclick="Button2_Click" Text="Button" />
CommandArgument绑定你的主键或者查询另外一个表的关键字段
this.Button2.CommandArgument就可以获得这个值!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平梦醉神风1I
2011-07-26 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1036万
展开全部
沿用前面的回答

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

//执行你要的操作
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
势昀若No
2011-07-26 · TA获得超过413个赞
知道答主
回答量:246
采纳率:0%
帮助的人:168万
展开全部
我用的是datagrid vb.net实现,如下
.aspx页面:
<asp:DataGrid Width="100%" ID="dgField" runat="server" CellPadding="5" ForeColor="#333333"
OnSelectedIndexChanged="SelectedIndex_Changed" PageSize="10" GridLines="Both"
AllowPaging="True" OnPageIndexChanged="MyDataGrid_Page" ShowFooter="false">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" Mode="NumericPages"
Font-Size="12px" PageButtonCount="5" />
<AlternatingItemStyle BackColor="White" />
<ItemStyle BackColor="#EFF3FB" HorizontalAlign="Center" Width="60px" Font-Size="12px" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" Font-Size="13px"
HorizontalAlign="Center" />
<Columns>
<asp:ButtonColumn CommandName="Select" Text="查看" HeaderText="查看">
<ItemStyle Font-Size="12px" HorizontalAlign="Center"/>
</asp:ButtonColumn>
</Columns>
</asp:DataGrid>
.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#也很简单。你可以参考一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式