2013-09-25 109 views
1

我有一個使用gridview的web窗體。在GridView上有複選框。我的gridview中的所有項都來自我的數據庫。使用複選框記住Gridview狀態

我想知道的是,當我再次導航到該頁面時,如何讓gridview記住我的選擇。

你能告訴我一個通用的方法嗎?

謝謝!

+0

您可以使用sql server進行管理 –

回答

0

你可以這樣做:

ASPX:

<asp:GridView ID="grdView" runat="server" OnRowCommand="grdView_OnRowCommand"> 
<Columns> 
    <asp:TemplateField> 
     <ItemTemplate> 
      <asp:CheckBox ID="chkBox" runat="server" 
CommandArgument='<%# ((GridViewRow) Container).RowIndex %>' CommandName="chkbocCheck" 
    AutoPostBack="true" /> 
      </ItemTemplate> 
    </asp:TemplateField> 

CS:

protected void grdView_OnRowCommand (object sender, EventArgs e) 
{ 
     string part = button.CommandArgument; 
      int rowIndex = Int32.Parse(part); 
      CheckBox chk= null; 
      if (rowIndex != -1) 
      { 
       chk= (CheckBox )gvAlertSummary.Rows[rowIndex].Cells[0].FindControl("chkBox"); 
       // Write your logic here 
} 
} 

希望這將幫你。

2

會話和餅乾
使用Session["value"],並把那裏的價值是什麼複選框激活。
然後onload()檢查Session["value"]是否有用,並將checkboxSomething參數選中爲true。現在沒有電腦,所以我不能給你看代碼。
希望你明白了。 更多的會話你在這裏找到:

http://msdn.microsoft.com/en-us/library/ms178581%28VS.100%29.aspx 
0

正如你所說的在GridView中的所有項目都是從數據庫中,那麼你可以先您的選擇保存到數據庫中。所以當你回到你的頁面時,它會從db中填滿,並且你會再次獲得填充的數據(選擇)。

另一種方法是,您可以將這些值存儲在Session變量或Cookierowcommand gridview中,並在返回頁面時獲取它們。