gpt4 book ai didi

c# - 通过超链接打开新的gridview

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:59 25 4
gpt4 key购买 nike

如何通过同一页面上的超链接打开一个新的 gridview,我不想关闭现有的 gridview,但想在用户单击此表上的任何超链接时显示与此相邻的另一个 gridview。我有一些如下所示的数据,当我单击这些超链接中的任何一个时,我想在同一页面上打开一个新的 gridview。新的 gridview 将拥有来自不同表的数据。

我无法插入图片,因为我没有足够的声誉,但可以分享我的 HTML 代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" DataKeyNames="UN_AT_Group">
<Columns>
<asp:HyperLinkField DataTextField="Group_Description" DataNavigateUrlFields="UN_AT_Group" DataNavigateUrlFormatString="~/Details.aspx?Id={0}"
</Columns>
</asp:GridView>

最佳答案

改用 LinkBut​​ton:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" DataKeyNames="UN_AT_Group" OnRowCommand="GridView1_RowCommand" Visible="True">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="GotoNextGrid" runat="server" CommandArgument="NextGrid" CommandName="NextGrid" Text="Show Rights">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

对第二个 GridView 执行相同操作,但设置 Visibile="false"

然后在 CodeBehind 中捕获它:(注意,确保我在这里作为标签的内容也可以是其他内容...无论您的 DataTextField 是什么。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "NextGrid")
{
LinkButton lb = (LinkButton)e.CommandSource;
GridViewRow gvr = (GridViewRow)lb.NamingContainer;
Label lbl = gvr.FindControl("GroupDescription") as Label;
string description = lbl.Text;
GridView1.Visible = false;
GridView2.Visible = true;
FillDataForGridView2(description) //Fill the Data for GridView2 here and pass description as parameter
}
}

注意如果你使用UpdatePanel,那么你需要添加一个Trigger:

<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridView1" EventName="RowCommand" />
</Triggers>

希望对您有所帮助。

如果您有任何问题,请尽管提问。

关于c# - 通过超链接打开新的gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24186304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com