C# 如何以编程方式将checkedit控件添加到devexpress中的gridview

C# 如何以编程方式将checkedit控件添加到devexpress中的gridview,c#,winforms,datatable,devexpress,gridcontrol,C#,Winforms,Datatable,Devexpress,Gridcontrol,我想将数据表绑定到绑定源,然后绑定到网格控件。创建DataTable后,如何添加checkedit控件 我在designer中有一个Devexpress windows应用程序 网格控制 绑定源 此GridControl的数据源是bindingsource1 我在page_Load事件中有以下内容: DataTable dt = new DataTable(); dt.Columns.Add("FirstName"); dt.Columns.Add

我想将
数据表
绑定到
绑定源
,然后绑定到
网格控件
。创建
DataTable
后,如何添加checkedit控件

我在designer中有一个Devexpress windows应用程序

  • 网格控制
  • 绑定源
  • GridControl
    的数据源是bindingsource1

    我在page_Load事件中有以下内容:

            DataTable dt = new DataTable();
            dt.Columns.Add("FirstName");
            dt.Columns.Add("Age");
    
            dt.Rows.Add("rambo", 60);
            dt.Rows.Add("Arnie", 35);
            bindingSource1.DataSource = dt;
            gridView1.RefreshData();
    
            gridView1.Columns.Add(
                new DevExpress.XtraGrid.Columns.GridColumn()
                {
                    Caption = "Selected",
                    ColumnEdit = new RepositoryItemCheckEdit() { },
                    Visible = true,
                }
                );
    

    不幸的是,这似乎不起作用。有什么想法吗?

    如果希望网格中的列具有复选框作为编辑控件,可以通过在数据表中添加包含布尔值的列来实现。以下内容适合我

    DataTable dt = new DataTable();
    dt.Columns.Add("FirstName", typeof(System.String));
    dt.Columns.Add("Age", typeof(System.Int32));
    dt.Columns.Add("Selected", typeof(System.Boolean));
    
    dt.Rows.Add("rambo", 60, true);
    dt.Rows.Add("Arnie", 35, false);
    
    gridView1.OptionsBehavior.AutoPopulateColumns = true;
    bindingSource1.DataSource = dt;
    gridControl1.DataSource = bindingSource1;
    

    事实上,我认为你很接近。尝试以下更改:

            DataTable dt = new DataTable();
            dt.Columns.Add("FirstName");
            dt.Columns.Add("Age");
    
            dt.Rows.Add("rambo", 60);
            dt.Rows.Add("Arnie", 35);
            bindingSource1.DataSource = dt;
            gridControl1.DataSource = bindingSource1;
            gridView1.RefreshData();
    
            gridView1.Columns.Add(
                new DevExpress.XtraGrid.Columns.GridColumn()
                {
                    Caption = "Selected",
                    ColumnEdit = new RepositoryItemCheckEdit() { },
                    VisibleIndex = 0,
                    UnboundType = DevExpress.Data.UnboundColumnType.Boolean
                }
                );
    

    请注意,我所更改的只是可见索引和设置未绑定的列类型。从技术上讲,我相信您只需要将visibleIndex属性设置为您希望它显示的位置。

    嘿,肯,谢谢您。不幸的是,这不是我想要的。结果很好,但我需要单独添加CheckEdit控件。不过很努力