C1FlexGrid绑定自定义Editor-C1CheckBox

发布时间:2016/08/12 00:08 发布者:alice

返回博客中心

在WinForm平台下,C1FlexGrid可以设置自定义Editor,比如自定义一个ColorPicker等控件放到C1FlexGrid中。

本文就基于这个,介绍添加C1CheckBox作为C1FlexGrid的Editor,并且该列是数据绑定的情况。

首先设置数据源。

数据源里有个Flag字段是String类型,显示Y,N。

 //Create & populate first table
        DataTable table1 = new DataTable();
        table1.TableName = "Author";
        table1.Columns.Add("ID", typeof(Int32));
        table1.Columns.Add("Author", typeof(string));
        table1.Columns.Add("Flag", typeof(string));

        table1.Rows.Add(1, "Robert Ludlum","Y");
        table1.Rows.Add(2, "Frederick Forsyth","N");
        table1.Rows.Add(3, "Dan Brown", "Y");
        table1.Rows.Add(4, "Sir Arthur Conan Doyle", "Y");
        table1.Rows.Add(5, "Mark Twain", "Y");
        table1.Rows.Add(6, "Daniel Defoe", "N");
        table1.Rows.Add(7, "William Shakespeare", "Y");
        table1.Rows.Add(8, "Vikram Seth", "Y");
        table1.Rows.Add(9, "P.G. Wodehouse", "N");
        table1.Rows.Add(10, "Boris Yeltsin", "Y");

 

然后数据绑定设置Editor

设置C1FlexGrid的Editor是C1CheckBox。

 c1CheckBox1.DataSource = table1;
            this.c1FlexGrid1.Cols[3].Editor = c1CheckBox1;

 

接着设置C1CheckBox绑定到字符串

当数据源的数据类型是字符串的时候,使用TranslateValues来指定对应的值。

代码参考:

c1CheckBox1.DataSource = table1;
            c1CheckBox1.DataField = "Flag";
            c1CheckBox1.DataType = typeof(string);

            c1CheckBox1.TranslateValues.Checked = "Y";
            c1CheckBox1.TranslateValues.Unchecked = "N";

 

注意:由于数据绑定的时候Text的显示无法对应,所以通过CheckedChanged事件做了同步。

  void c1CheckBox1_CheckedChanged(object sender, EventArgs e)
        {            
            this.c1CheckBox1.Text = this.c1CheckBox1.Checked ? "Y" : "N";
        }

结果如下:

C1Checkbox

本文的源代码请下载:

更多内容:

C1FlexGrid控件简介: /developer/componentone/flexgrid

C1FlexGrid的下载地址:

/download/?pid=3

如需更多帮助,可以到葡萄城开发者社区寻找更多资源以及帮助,地址:http://gcdn.grapecity.com.cn/


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网