C# 单击按钮时隐藏Gridview行
当页面加载时,屏幕上会出现一个gridview,下面有一个asp按钮。我想做的是,当用户单击按钮时,它会在gridview中隐藏一行。我不想将数据从数据源中删除,我只是想对用户隐藏它。你知道如何在C中实现这一点吗#C# 单击按钮时隐藏Gridview行,c#,asp.net,gridview,C#,Asp.net,Gridview,当页面加载时,屏幕上会出现一个gridview,下面有一个asp按钮。我想做的是,当用户单击按钮时,它会在gridview中隐藏一行。我不想将数据从数据源中删除,我只是想对用户隐藏它。你知道如何在C中实现这一点吗# 您可以试试这个 gridview标记: <asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server"
您可以试试这个
gridview标记:
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
Text="Click1"
OnClick="LinkButton1_Click" />
</ItemTemplate>
我测试了这个解决方案,但我认为方法是Css,这将使计数()为-1: 在网格中放置一个更新面板
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField = "ProductName" HeaderText="A" />
<asp:BoundField DataField = "CategoryName" HeaderText="B" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
//Put this when you populate the grid
ViewState["X"] = GridView1.Rows.Count;
ViewState["Y"] = 1;
//在填充网格时放置此选项
ViewState[“X”]=GridView1.Rows.Count;
视图状态[“Y”]=1;
在按钮中输入以下内容:
protected void btnReceive_Click(object sender, EventArgs e)
{
int X = int.Parse(ViewState["X"].ToString());
int Y = int.Parse(ViewState["Y"].ToString());
if (Y < GridView1.Rows.Count )
{
GridView1.Rows[X - Y].Visible = false;
ViewState["Y"] = Y + 1;
}
}
protectedvoidbtnReceive\u单击(对象发送方,事件参数e)
{
int X=int.Parse(ViewState[“X”].ToString());
int Y=int.Parse(ViewState[“Y”].ToString());
如果(Y
如果需要再次显示行,只需创建另一个gvrow.Visible=true的方法代码>
我不知道这是否是最好的方法,但效果很好。
我希望这会有帮助。你试过使用javascript吗?没有。不知道如何使用javascript。按钮不在gridview中,在gridview之外。我的更新面板中有一个计时器,因为gridview中出现了一个新行,它必须经常更新。当计时器刷新更新面板时,它刷新gridview,并返回隐藏的行。不管怎样,我还是要绕开它。@Apollo,但只有我把更新面板放在示例中,但你可以删除它。我已经把更新面板放好了。是必需的,因为我必须显示定期输入的记录,当单击按钮时,它将获取下一条记录,并从gridview中隐藏该记录。
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField = "ProductName" HeaderText="A" />
<asp:BoundField DataField = "CategoryName" HeaderText="B" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
//Put this when you populate the grid
ViewState["X"] = GridView1.Rows.Count;
ViewState["Y"] = 1;
protected void btnReceive_Click(object sender, EventArgs e)
{
int X = int.Parse(ViewState["X"].ToString());
int Y = int.Parse(ViewState["Y"].ToString());
if (Y < GridView1.Rows.Count )
{
GridView1.Rows[X - Y].Visible = false;
ViewState["Y"] = Y + 1;
}
}