两个GridView在同一个位置

本文关键字:位置 同一个 GridView 两个 | 更新日期: 2023-09-27 18:03:51

我有两个GridViews即GridView1和GridView2。他们在同一位置,我声明一个布尔变量即标志。我想这样做时,flag=false, GridView1是可见的,GridView2是不可见的。当flag=true时,GridView2是可见的,GridView1是不可见的。这是我的代码。

private bool flag=false;  
if(flag==false)  
{  
    GridView1.Visible=true;  
    GridView2.Visible=false;  
    flag=true;  
}  
else  
{
    GridView2.Visible=true; 
    GridView1.Visible=false;
    flag=false;  
}
在运行时,

虽然GridView2变得不可见,但它的空间出现在GridView1之下。我怎样才能一次显示一个网格呢?

与独立于

两个GridView在同一个位置

可以将GridView放在div中。

<div id="div1" runat="server">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>

<div id="div2" runat="server">
<asp:GridView ID="GridView2" runat="server">
</asp:GridView>
</div>

代码端

if(flag==false)  
{  
    div1.Visible=true;  
    div2.Visible=false;  
    flag=true;  
}  
else  
{
    div2.Visible=true; 
    div1.Visible=false;
    flag=false;  
}

在ViewState中存储标志值。

        if (ViewState["flag"] == null)
        {
            ViewState["flag"] = false;
        }
        bool flag = (bool)ViewState["flag"];
        GridView1.Visible = flag;
        GridView2.Visible = !flag;
        ViewState["flag"] = !flag;