c# – 在Telerik RadGrid控件中进行分页时保持CheckBox状态
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 在Telerik RadGrid控件中进行分页时保持CheckBox状态,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1570字,纯文字阅读大概需要3分钟。
内容图文
![c# – 在Telerik RadGrid控件中进行分页时保持CheckBox状态](/upload/InfoBanner/zyjiaocheng/795/6be47ee3129a41fabd693783ca7bfdc6.jpg)
我有一个telerik-radgrid,我使用SelectAll.对于SelectAll,我使用了复选框.分页后检查状态将消失.
即使在分页之后,我们如何能够保持Checkbox的检查状态.
解决方法:
嗨解决了这一个….
在复选框OnCheckedChanged事件中调用checkChanged
在viewstate和item数据库中存储已检查的值读取viewstate的值.
在这里我们有.cs代码: –
public const string SELECTED_CUSTOMERS_INDEX =“UserIndex”;
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;
}
}
}
}
}
}
内容总结
以上是互联网集市为您收集整理的c# – 在Telerik RadGrid控件中进行分页时保持CheckBox状态全部内容,希望文章能够帮你解决c# – 在Telerik RadGrid控件中进行分页时保持CheckBox状态所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。