C1FlexGrid绑定自定义Editor-C1CheckBox

在WinForm平台下,C1FlexGrid可以设置自定义Editor,比如自定义一个ColorPicker等控件放到C1FlexGrid中。本文就基于这个,介绍添加C1CheckBox作为C1FlexGrid的Editor,并且该列是数据绑定的情况。

发布于 2016/08/12 00:00

ComponentOne Enterprise

在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/

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态