然后在GridView的一个关于button点击的事件里
if(e.commandName=="tr")
{
Response.redirect("xxx.aspx?id=+"e.CommandArgument.ToString()"+")
}
这样就可以传值了.其他方法也类似.写到GridView里的哪个事件我具体也忘了,好像是rowCommand什么的,记不起来了,抱歉:-(
gridview中动态插入一个gridview控件?
我们一般开发不会用GridView套用GridView 因为GridView绑定的都是列.
取行在绑定下个gridview控件做的话很复杂。
用Repeater+GridView来做,第一层用Repeater数据.
同时第一层的数据通过查询绑定下个GridView中即可
前台 *** 作:
<asp:Repeater ID="Repeater1" DataSourceID="SqlDataSource1" runat="server"onitemdatabound="Repeater1_ItemDataBound">
<HeaderTemplate>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<thead>
<td>编号</td>
<td>名称</td>
<td>类型</td>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("id")%>'>
</asp:Label>
</td>
<td><%# Eval("name")%></td>
<td><%# Eval("type")%></td>
</tr>
<tr>
<td colspan="3">
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
后台 *** 作:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e){
if (!e.Item.ItemIndex.Equals(-1))
{
GridView gvInfo = (GridView)e.Item.FindControl("GridView2")
string id = (e.Item.FindControl("Label1") as Label).Text
gvInfo.DataSource = SQLDBHelper.CreateIntance().GetDataSet("select * from Tab where id=" + id)
gvInfo.DataBind()
Response.Write(id)
}
}
效果图如下外层Repeater 内层通过外层编号绑定GridView:
如有问题可以追问,我当及时回答.
希望能帮到你!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)