2011-07-28 29 views
1

我有兩個GridViews即GridView1和GridView2.They在相同的位置,我聲明一個布爾變量,即標誌。我想在flag = false時做到這一點,GridView1是可見的,GridView2是不可見的。當flag = true時,GridView2可見並且GridView1不可見。這是我的代碼。在同一地點的兩個GridView

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下出現。我怎麼能一次顯示一個網格。

隨着Regrads,

+0

不錯的問題。 +1 – Sagotharan

回答

2

您可以將兩個的GridView在事業部。

<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; 
} 
+0

感謝您的關注和答覆。我對你的代碼很滿意。 – lelewin

0

在ViewState中存儲的標誌值。

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

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

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

OP的問題是,即使GridView不可見,非可見GridView的空間仍然存在。你的代碼片段沒有解決這個問題。 – Tim

相關問題