简而言之,我正在编写一个实现用户和群组的网络应用程序。多个用户有多个组。这给我留下了三个表:user,group,usergroup。
现在我有一个webform,我想在其中管理群组及其成员。为此,我在所述表格上有两个网格视图。一个用于显示组,另一个用于显示所选组的成员。
group-gridview有两列:描述和另一个按钮字段所在的位置,显示“显示成员”。当用户单击此按钮时,他将根据其他网格视图中的选定组获取用户列表。
然而,我真的不知道如何做到这一点?你能指点我在正确的方向吗?
这是我的代码:
<asp:Content ID="content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<h1>Gruppenverwaltung</h1>
<asp:Panel ID="pnlGruppe" ScrollBars="Both" runat="server">
<asp:Button ID="btnNeueGruppe" Text="Neue Gruppe" runat="server" OnClick="btnNeueGruppe_Click" />
<asp:GridView DataKeyNames="GruppenID" OnRowCommand="grdGruppe_RowCommand" ID="grdGruppe" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="Bezeichnung" HeaderText="Bezeichnung" SortExpression="Bezeichnung" />
<asp:ButtonField ButtonType="Button" CommandName="MitgliederAnzeigen" Text="Mitglieder anzeigen" />
<asp:CommandField HeaderText="Archivieren" ButtonType="Button" ShowDeleteButton="true" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [Bezeichnung], [GruppenID] FROM [Gruppe] WHERE [Archiviert] != 1"
DeleteCommand="UPDATE Gruppe SET [Archiviert] = 1 WHERE [GruppenID] = @GruppenID"></asp:SqlDataSource>
<asp:Button ID="btnZurueck" Text="Zurück" runat="server" OnClick="btnZurueck_Click" />
</asp:Panel>
<asp:Panel Visible="false" ID="pnlMitglieder" ScrollBars="Both" runat="server">
<asp:GridView ID="grdBenutzer" runat="server" AutoGenerateColumns="false">
</asp:GridView>
<asp:Button ID="Button1" Text="Zurück" runat="server" OnClick="Button1_Click" />
</asp:Panel>
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserAuthentication"] == null)
{
Response.Redirect("Login.aspx");
}
}
protected void btnZurueck_Click(object sender, EventArgs e)
{
Response.Redirect("Datenverwaltung.aspx");
}
protected void btnNeueGruppe_Click(object sender, EventArgs e)
{
Response.Redirect("NeueGruppe.aspx");
}
protected void grdGruppe_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "MitgliederAnzeigen")
{
pnlMitglieder.Visible = true;
pnlGruppe.Visible = false;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
pnlMitglieder.Visible = false;
pnlGruppe.Visible = true;
}
答案 0 :(得分:1)
protected void grdGruppe_RowCommand(object sender,GridViewCommandEventArgs e)
{
if (e.CommandName == "MitgliederAnzeigen")
{
string rowindex = e.CommandArgument as string;//Get Row Index
string str = GridView1.Rows[Convert.ToInt32(rowindex)].Cells[0].Text;
pnlMitglieder.Visible = true;
pnlGruppe.Visible = false;
}
在stru中获取GroupName后,可以根据希望绑定你的第二个网格视图,这将有助于你