1

にバインドしたいDataTableのですBindingSourceが、次ににバインドされGridControlます。作成後にcheckeditコントロールを追加するにはどうすればよいDataTableですか?

私はDevexpressウィンドウアプリケーションを持っていますが、デザイナーでは、

  1. GridControl
  2. BindingSource

この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,
            }
            );

残念ながら、これは機能していないようです。何か案は?

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 に答える