FineUI 官方论坛

标题: 关于Grid重新绑定数据后复选框列的选中问题 [打印本页]

作者: ャXz    时间: 2012-5-24 15:49
标题: 关于Grid重新绑定数据后复选框列的选中问题
项目需求需要加载数据的时候就已经选中某些行,是用一个下拉框回发服务器重新绑定数据源的。现在遇到的问题是复选框经常不能选中。
部分代码
List<Int32> lstSelected = new List<int>();
赋值后
grd.SelectedRowIndexArray = lstSelected.ToArray();


作者: support    时间: 2012-5-24 16:03
重新绑定数据后,需要手工设置选中的行.....
作者: ャXz    时间: 2012-5-24 16:06
support 发表于 2012-5-24 16:03
重新绑定数据后,需要手工设置选中的行.....

grd.SelectedRowIndexArray = lstSelected.ToArray();
这句话就是手动设置选中行的。
private void BindGrid()
        {
            DataTable dt = new DataTable();

            try
            {
                dt = vcBll.GetCountry(this.id, Convert.ToInt32(ddlContinent.SelectedValue));
            }
            catch (Exception ex)
            {
                LogNet.logNetBLL.logERROR(ex.Message, ex);
                Alert.ShowInTop("获取国家列表信息失败", "提示", MessageBoxIcon.Error);
            }

            grd.DataSource = dt;
            grd.DataBind();
            List<Int32> lstSelected = new List<int>();

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (!String.IsNullOrEmpty(dt.Rows["VisaModeId"].ToString()))
                {
                    lstSelected.Add(i);
                }
            }

            grd.SelectedRowIndexArray = lstSelected.ToArray();
        }
作者: support    时间: 2012-5-24 16:19
调试下,看lstSelected是啥,不行的话发给个别人能运行的例子
作者: ャXz    时间: 2012-5-24 16:24
support 发表于 2012-5-24 16:19
调试下,看lstSelected是啥,不行的话发给个别人能运行的例子

调试过了哦,lstSelected是一个动态数组,里面存放的要设置选中的行索引。
现在的问题是本来Grid有数据,有选中,切换到无数据再切换回来,正常,但是有数据且都有选中的情况就不正常了




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4