1

我想将 a 绑定DataTable到 aBindingSource然后绑定到GridControl. 创建后如何添加checkedit控件DataTable

我在设计器中有一个 Devexpress windows 应用程序,

  1. 网格控件
  2. 绑定源

ThisGridControl的数据源是 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,
            }
            );

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

4

2 回答 2

2

其实,我觉得你们很亲近。尝试以下更改:

        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 属性设置为您希望它出现的位置。

于 2012-03-01T20:12:45.623 回答
0

如果您希望网格中的列有一个复选框作为编辑控件,您可以通过在 DataTable 中添加一个包含布尔值的列来实现这一点。以下对我有用。

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;
于 2012-03-01T15:50:55.300 回答