首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程CheckBox控制中的寻呼时持久化RadGrid状态

远程CheckBox控制中的寻呼时持久化RadGrid状态
EN

Stack Overflow用户
提问于 2015-12-24 14:20:51
回答 1查看 2.1K关注 0票数 4

我有一个使用SelectAll的远程雷达格栅。对于SelectAll,我使用了复选框。在分页之后,检查的状态就会消失。如何保持复选框的选中状态,即使在分页之后也可以保留。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-29 10:33:36

嗨解决了这个问题..。

在复选框中调用checkChanged,OnCheckedChanged事件存储,选中viewstate中的值,并在项数据库上读取viewstate的值。

这里有.cs代码:-

公共const字符串SELECTED_CUSTOMERS_INDEX = "UserIndex";

代码语言:javascript
复制
protected void CheckChanged(Object sender, System.EventArgs e)
{
    CheckBox box = (CheckBox)sender;
    GridDataItem item = (GridDataItem)box.NamingContainer;
    var rowIndex = item.ItemIndex;
    var idex =  radStoreUsers.MasterTableView.DataKeyValues[rowIndex];
    string datakey = idex["Id"].ToString();
    if (box.Checked)
    {
        PersistRowIndex(datakey);
    }
    else
    {
        RemoveRowIndex(datakey);
    }
}

private void PersistRowIndex(string chkId)
{
    if (!SelectedCustomersIndex.Exists(i => i == chkId))
    {
        SelectedCustomersIndex.Add(chkId);
    }
}

private void RemoveRowIndex(string chkId)
{
    SelectedCustomersIndex.Remove(chkId);
}

private List<string> SelectedCustomersIndex
{
    get
    {
        if (ViewState[SELECTED_CUSTOMERS_INDEX] == null)
        {
            ViewState[SELECTED_CUSTOMERS_INDEX] = new List<string>();
        }

        return (List<string>)ViewState[SELECTED_CUSTOMERS_INDEX];
    }
}

protected void radStoreUsers_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem item = e.Item as GridDataItem;
        CheckBox box = (CheckBox)item.FindControl("chkBox");
        if (item.OwnerTableView.DataMember == "Users")
        {
            if (SelectedCustomersIndex != null)
            {
                foreach(string id in SelectedCustomersIndex)
                {
                    if(item.GetDataKeyValue("Id").ToString() == id)
                    {
                        box.Checked = true;
                    }
                }
            }
        }
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34454179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档