注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员驿站

淘宝店:http://shop106888457.taobao.com

 
 
 

日志

 
 

DEV GridControl绑定多选框CheckEdit,保存时值未修改,未执行CellValueChanged事件  

2013-08-15 19:06:47|  分类: DEVEXPRESS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

GridControl某一列绑定了RepositoryItemCheckEdit控件,显示时都没有问题,但是当我修改了checkedit的值时,我想通过for循环将修改之后的值取出来时,由于未执行CellValueChanged事件得到的还是未修改的值,请问这有什么办法解决?

方法如下:

        /// <summary>
        /// 返回角色表
        /// </summary>
        /// <returns></returns>
        public DataTable reRole()
        {
            try
            {
                DataTable dt = this.reRole("select * from tb_role y where isActive=1");                          
                    return dt;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

 

        /// <summary>
        /// 重载查询方法
        /// </summary>
        public override void Query()
        {
            base.Query();
            DataTable dtTmp = OptRole.reRole();
            //添加一列用于判断是否选中该列
            dtTmp.Columns.Add("selected", System.Type.GetType("System.Boolean"));
            //将Data绑定到GridControl
            this.gridRole2.DataSource = dtTmp;
        }

 

        /// <summary>
        /// 重载删除方法
        /// </summary>
        public override void Delete()
                 

            //关键点,更新gridview的数据源,否则只有焦点离开gridView1当前行才能执行更新数据源的CellValueChanged事件
            gridView1.PostEditor();
            //gridView1.CloseEditor();
            //gridView1.UpdateCurrentRow();
            base.Delete();
            bool value = false ;

            //遍历gridView1,取得选中列的id

            for (int i = 0; i < gridView1.RowCount; i++)
            {
                string temp = gridView1.GetRowCellValue(i, "selected").ToString();
                if (temp != "")
                {
                    value = Convert.ToBoolean(temp);                   
                    if (value == true)
                    {

                        //测试能不能取得角色ID,以用于删除
                        string temp1 = gridView1.GetDataRow(i)["roleId"].ToString();
                        MessageBox.Show(temp1);
                    }
                }
            }

        }

  评论这张
 
阅读(851)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018