同一位置的两个GridView

时间:2011-07-28 05:33:50

标签: c# asp.net

我有两个GridView,即GridView1和GridView2。它们位于相同的位置,我声明了一个布尔变量即flag。当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;  
}

在RunTime中, 虽然GridView2变得不可见,但它的空间出现在GridView1下。我怎么能一次显示一个网格。

使用Regrads,

2 个答案:

答案 0 :(得分:2)

您可以将 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;  
}

答案 1 :(得分:0)

在ViewState中存储标记值。

        if (ViewState["flag"] == null)
        {
            ViewState["flag"] = false;
        }

        bool flag = (bool)ViewState["flag"];

        GridView1.Visible = flag;
        GridView2.Visible = !flag;
        ViewState["flag"] = !flag;