Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit

原创 2017年07月27日 10:57:21

     RepositoryItemGridLookUpEdit 用于在GridControl中指定一列为多列数据下拉框,选择的之后只显示指定的列。该Devexpress版本为15.2.

定义名为TestModel类:

 public class TestModel 
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int SizeTypeId { get; set; }
}

定义TestModel集合:

public static List<TestModel> GenerateList()
        {
            return new List<TestModel>() {
                new TestModel() {
                      Id=1,
                      Name=" 桌子",
                },
                new TestModel() {
                     Id=2,
                      Name=" 椅子",
                },
                new TestModel() {
                     Id=3,
                     Name="凳子",
                }
            };
        }

定义RepositoryItemGridLookUpEdit 数据源:

/// <summary>
        /// 生成包含3列的DataTable
        /// </summary>
        public static DataTable GenerateDT()
        {
            DataTable dt = new DataTable("TestTable");
            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Type", typeof(string));
            for (int i = 1; i <= 100; i++)
            {
                DataRow rowg = dt.NewRow();
                rowg["Id"] = i;
                rowg["Name"] = $"{i * 12},{i * 10}";
                int size = i * 10 * 10;
                if (size < 3000)
                {
                    rowg["Type"] = "小号";
                }
                if (size >= 3000 && size < 5000)
                {
                    rowg["Type"] = "中号";
                }
                if (size >= 5000)
                {
                    rowg["Type"] = "大号";
                }
                dt.Rows.Add(rowg);
            }
            return dt;
        }

在界面上拖放一个GridControl,窗口加载中定义列

/// <summary>
        /// 数据源
        /// </summary>
        private List<TestModel> list = new List<TestModel>();
        GridColumn gcId = new GridColumn();
        private void GridControlForm_Load(object sender, EventArgs e)
        {
            list.AddRange(GenerateList());
            gv.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.True;
            gcId.Caption = "编号";
            gcId.FieldName = "Id";
            gcId.VisibleIndex = 0;
            gcId.Width = 30;
            this.gv.Columns.Add(gcId);

            GridColumn gcName = gv.Columns.AddField("Name");
            gcName.Caption = "名称";
            gcName.VisibleIndex = 1;
            this.gv.Columns.Add(gcName);
            //尺寸类型 GridLookUpEdit
            RepositoryItemGridLookUpEdit riglup = new RepositoryItemGridLookUpEdit();
            riglup.DataSource = GenerateDT();
            riglup.DisplayMember = "Name";
            riglup.ValueMember = "Id";
            // 为riglup增加3列
            GridColumn riglupgcId = riglup.View.Columns.AddField("Id");
            riglupgcId.Caption = "编号";
            riglupgcId.VisibleIndex = 0;
            riglupgcId.Width = 30;

            GridColumn riglupgcName = riglup.View.Columns.AddField("Name");
            riglupgcName.Caption = "名称";
            riglupgcName.VisibleIndex = 1;

            GridColumn riglupgcType = riglup.View.Columns.AddField("Type");
            riglupgcType.Caption = "尺寸";
            riglupgcType.VisibleIndex = 2;
            // 添加到集合
            riglup.View.Columns.Add(riglupgcId);
            riglup.View.Columns.Add(riglupgcName);
            riglup.View.Columns.Add(riglupgcType);

            GridColumn gcSizeType = gv.Columns.AddField("SizeTypeId");
            gcSizeType.VisibleIndex = 2;
            gcSizeType.Caption = "尺寸";
            gcSizeType.ColumnEdit = riglup;
          
            this.gv.Columns.Add(gcSizeType);
            this.gc.DataSource = list;}

下拉列中自定义列使用如下代码:

GridColumn riglupgcId = riglup.View.Columns.AddField("Id");
            riglupgcId.Caption = "编号";
            riglupgcId.VisibleIndex = 0;
代码运行效果:



Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit 进行级联选择

上一篇点击打开链接中描述了如何在GridControl中增加一个GridLookUpEdit列,这篇文章将要描述如何在它单元格数据之间进行级联选择。 为GridControl增加一个颜色列,根据不同尺...
  • duanzi_peng
  • duanzi_peng
  • 2017-10-25 17:11:58
  • 781

关于GridControl中的gridview用repositoryItemGridLookUpEdit 提示对象必须实现iconvertible

绑定代码如下: 提示如下错误: 解决方法如下: 下面是根据获取到的DisplayMember获取repositoryItemGridLookUpEdit的view中的...
  • u011871201
  • u011871201
  • 2017-05-02 17:30:24
  • 1685

DevExpress控件-lookupedit的使用方法详解(图文)

绑定数据源: lookupedit.properties.valuemember = 实际要用的字段; //相当于editvalue lookupedit.properties.displayme...
  • qq395537505
  • qq395537505
  • 2016-03-18 09:33:33
  • 11060

C# Devexpress gridControl 自定义编辑器 设置弹出框(弹出框包含gridLookUpEdit)

个人记录一下,省的忘了。。。                    // ----------设置弹出框的样式                     //桩号下拉框选择       ...
  • twenwen
  • twenwen
  • 2016-03-09 14:42:54
  • 3605

Dev-GridLookUpEdit 的用法

建 一个窗体名称为:frmAutoComplete 其它先不说,直接将GridLookUpEdit控件拖上去,其它的多余设计,参与着可以自行拖放;这里就说一下这个控件怎么就自动给提示了,找了半天才算整...
  • hongleidy5000
  • hongleidy5000
  • 2011-05-27 10:56:00
  • 16005

关于获取Gridcontrol中repositoryItemLookUpEdit的使用

//直接上源码 private void lupUser_EditValueChanged ( object sender ,System . EventArgs e ) { ...
  • u011871201
  • u011871201
  • 2017-09-07 14:28:48
  • 498

(RepositoryItemLookUpEdit)下拉帮助的问题,来自winform

昨天遇到了一个问题,就是下拉帮助每一行的帮助数据都是不同,而RepositoryItemLookUpEdit是控制一列数据的。 所以如果改变当前行数据的下拉数据源,那么上行数据的显示值就会消失掉。 ...
  • learner198461
  • learner198461
  • 2010-07-09 09:07:00
  • 2963

DevExpresss LookUpEdit详解

DevExpresss LookUpEdit详解 哈,今天又用到了LookUpEdit控件,主要是用来实现模糊查询和自由输入功能,然而由于长时间没用了,一阵手忙脚乱的,这里把网上收集...
  • bk8897
  • bk8897
  • 2014-02-09 14:03:18
  • 5981

repositoryItemSearchLookUpEdit绑定数据源以及读取其中数据

//repositoryItemSearchLookUpEdit绑定数据源: //获取数据源 searCh = bll.GetDataTableNa...
  • u011871201
  • u011871201
  • 2016-07-13 11:12:52
  • 3222

DevExpress.LookUpEdit控件实现自动搜索定位功能

详解DevExpress.LookUpEdit控件实现自动搜索定位功能 首先介绍三个重要的属性: 1. LookUpEdit.Properties.ImmediatePopup 在输入框按任一可见...
  • shilang999
  • shilang999
  • 2014-03-18 17:00:22
  • 9762
收藏助手
不良信息举报
您举报文章:Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit
举报原因:
原因补充:

(最多只允许输入30个字)