2013-09-25 74 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中,并在返回页面时获取它们。