首页 Devexpress GridControl中RepositoryItemLookUpEdit级联显示控制

Devexpress GridControl中RepositoryItemLookUpEdit级联显示控制

举报
开通vip

Devexpress GridControl中RepositoryItemLookUpEdit级联显示控制在使用GridControl时,可能会有需求要求某2列显示RepositoryItemLookUpEdit控件,而且在选择第一列的值时,第2列绑定的数据源发生变化。当然这在其他地方很容易实现,但是在GridControl的列中就不能用以往的思维方式进行了,因为在GridControl中,你只有选中这一列,它才会显示出该列所绑定控件的特性,否则只是一个普通的lable。 基本思路:在点击第2列时才去获取第一列选中的值,然后根据该值查询出第2列的数据进行绑定。 方法/步骤 1. 1 1. RepositoryItem...

Devexpress GridControl中RepositoryItemLookUpEdit级联显示控制
在使用GridControl时,可能会有需求 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 某2列显示RepositoryItemLookUpEdit控件,而且在选择第一列的值时,第2列绑定的数据源发生变化。当然这在其他地方很容易实现,但是在GridControl的列中就不能用以往的思维方式进行了,因为在GridControl中,你只有选中这一列,它才会显示出该列所绑定控件的特性,否则只是一个普通的lable。 基本思路:在点击第2列时才去获取第一列选中的值,然后根据该值查询出第2列的数据进行绑定。 方法/ 步骤 新产品开发流程的步骤课题研究的五个步骤成本核算步骤微型课题研究步骤数控铣床操作步骤 1. 1 1. RepositoryItemLookUpEdit控件的创建,我是在CustomRowCellEditForEditing这个事件下处理的。(因为我所需要显示RepositoryItemLookUpEdit的列是动态创建的,所以需要这样创建,如果你是固定显示,直接绑定RepositoryItemLookUpEdit点击事件就可以了。)在这个事件里面,还可以控制某一列不同行显示不同控件。(因为Devexpress是只能设置某一列控件的属性的,不能精准到控制每个单元格中的控件) //DEPOT 堆场列 级联 PORT港口列 private void Frm _Load(object sender, EventArgs e) { gridView.CustomRowCellEditForEditing += gridView_CustomRowCellEditForEditing; } void gridView_CustomRowCellEditForEditing(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e) { DevExpress.XtraGrid.Views.Grid.GridView view = sender as DevExpress.XtraGrid.Views.Grid.GridView; DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit lue = new DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit(); switch (e.Column.FieldName) { case "DEPOT": //获取该行port string portFilter = view.GetRowCellValue(e.RowHandle, "PORT").ToString(); if (portFilter != null && portFilter != "") { this.depotBindingSource.Filter = string.Format("Port='{0}'", portFilter); } else { //自定义一个查不到结果的 过滤条件 lue.DataSource = this.depotBindingSource.Filter = string.Format("Port='123456'", portFilter); } #region RepositoryItemLookUpEdit 格式化 lue.DataSource = depotBindingSource; lue.DisplayMember = "CODE"; lue.ValueMember = "CODE";                  lue.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; lue.Columns.AddRange(new DevExpress.XtraEditors.Controls.LookUpColumnInfo[] { new DevExpress.XtraEditors.Controls.LookUpColumnInfo("CODE", 90, "Code"), new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Desp", 350, "Desp"), new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Port", 60, "Port")});                    lue.PopupFormMinSize = new System.Drawing.Size(500, 0); lue.PopupWidth = 500;          #endregion //LookUpEdit值改变后触发 lue.EditValueChanged += lue_EditValueChanged; //下拉框选中值后,需要进行转换 lue.ParseEditValue += lue_ParseEditValue; //指定该列控件 e.RepositoryItem = lue; break; } } 2. //选择RepositoryItemLookUpEdit的值时进行的处理。 void lue_EditValueChanged(object sender, EventArgs e) { DevExpress.XtraEditors.BaseEdit edit = gridView.ActiveEditor;            switch (gridView.FocusedColumn.FieldName) {                case "DEPOT"://堆场 列 gridView.SetFocusedRowCellValue(gridView.Columns["DEPOT"], edit.EditValue); break; } } 3. //grid中的下拉框必须要处理一下,不然会报(对象必须实现iconvertible) 错误 void lue_ParseEditValue(object sender, DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e) { if (e.Value != null) e.Value = e.Value.ToString(); else e.Value = ""; e.Handled = true; }    继续阅读
本文档为【Devexpress GridControl中RepositoryItemLookUpEdit级联显示控制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_496339
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:0
分类:互联网
上传时间:2019-07-19
浏览量:261