2012-03-01 49 views
1

我想將DataTable綁定到BindingSource,然後綁定到GridControl。一旦創建了DataTable,我如何添加checkedit控件?如何以編程方式在devexpress中將checkit控件添加到gridview中

我有一個DevExpress的Windows應用程序在設計,

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

可惜,這似乎並沒有工作。有任何想法嗎?

回答

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屬性設置爲你希望它出現的位置。

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; 
+0

嗨肯,謝謝你。不幸的是,它不是我所追求的。結果很好,但我需要分別添加CheckEdit控件。雖然好努力 – user532104 2012-03-01 15:57:44

相關問題