2017-08-30 55 views
0

我用下面的代碼綁定DataTableDataGridView如何從DataTable中添加自定義列來填充C#中的Datagridview?

DataTable dt = new DataTable(); 
dt = serviceSqlite.select(new Pacients());  
dataGridView1.DataSource = dt; 

我想在dt添加自定義欄應該是一個CheckBoxImage

如何做到這一點?

+0

您可以將它們添加到你的'DataGridView'這樣'dataGridView1.Columns.Add(新DataGridViewCheckBoxColumn());' –

+0

你能分享完整的例子?使用列的設置名稱? – OPV

+0

您可以將列添加到表中;將第一個bool和第二個添加爲字節[]。排序或過濾更靈活.. – TaW

回答

1

您可以將它們添加到您的DataGridView。就像這樣:

var checkBox = new DataGridViewCheckBoxColumn 
{ 
    Name = "checkBox", 
    HeaderText = @"checkBox", 
    Width = 70 
}; 
//Set other properties... 
dataGridView1.Columns.Add(checkBox); 

而同爲Image

DataGridViewImageColumn image = new DataGridViewImageColumn(); 
//.... 

另外如果你想在新列將出現在另一列你可以用下面的代碼替換dataGridView1.Columns.Add(checkBox);

dataGridView1.DataSource = dt; 
var checkBox = new DataGridViewCheckBoxColumn 
{ 
    Name = "checkBox", 
    HeaderText = @"checkBox", 
    Width = 70 
}; 
//Set other properties... 
dataGridView1.Columns.Insert(1, checkBox); 

而且如果您想將其添加到您的DataTable中,您可以將其添加爲boolean字段DataTable

dt.Columns.Add(new DataColumn("checkBox", typeof(bool))); 
dataGridView1.DataSource = dt; 

所以,當你綁定DataTableDataGridView,一個CheckBoxColumn爲該boolean場創建。

+0

之後如何與DataTable綁定? – OPV

+0

我不明白,我需要添加新的列DataTable或dataGridView1?它會正常工作嗎?當DataTable的一部分數據手動添加時? – OPV

+0

@OPV您需要將列添加到您的'DataGridView'以顯示在您的表單上。只需將我的答案添加到您的代碼中,您將看到結果。 –

相關問題