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;
代码运行效果:



相关文章推荐

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

绑定代码如下: 提示如下错误: 解决方法如下: 下面是根据获取到的DisplayMember获取repositoryItemGridLookUpEdit的view中的...

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

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

Dev-GridLookUpEdit 的用法

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

DevExpresss LookUpEdit详解

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

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

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

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

详解DevExpress.LookUpEdit控件实现自动搜索定位功能 首先介绍三个重要的属性: 1. LookUpEdit.Properties.ImmediatePopup 在输入框按任一可见...

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

绑定数据源: lookupedit.properties.valuemember = 实际要用的字段; //相当于editvalue lookupedit.properties.displayme...

关于DEV中的GridControl使用之GridView

1.关于DEV中的GridControl使用## 使用GridControl的功能非常的强大## 首先GridControl有四种常用的Layout本文仅仅介绍一下其中的一种GridViewgrid...

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

//repositoryItemSearchLookUpEdit绑定数据源: //获取数据源 searCh = bll.GetDataTableNa...

dev,buttonEdit控件,只能点击,不能编辑

设置readonly==true即可
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit
举报原因:
原因补充:

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