我有一個預定義的DataGridView,我需要從DataTable中添加行而無需數據綁定。我試圖以編程方式使用DataGridView.Rows.Add()
方法,但是,我不知道DataTable的列名稱。 DataTable中的列與DataGridView的順序相同,但如何在不知道列名的情況下將它們添加到DataGridView?將DataTable行添加到DataGridView中,無需綁定
0
A
回答
10
說你的DataGridView存在,但沒有列。你可以這樣做:
foreach (DataColumn dc in yourDataTable.Columns) {
yourDataGridView.Columns.Add(new DataGridViewTextBoxColumn());
}
然後添加行數據:
foreach(DataRow dr in yourDataTable.Rows) {
yourDataGridView.Rows.Add(dr.ItemArray);
}
現在,如果默認的文本框列是不夠的,你可能需要創建與不同小區的模板列。
0
如果你的DataGridView沒有行和列,那麼就
yourDataGridView.DataSource = yourDataTable
將盡一切工作。
如果你的DataGridView已經有界的一些數據源(如果你使用數據表,然後我猜的數據源是數據表),
,那麼你需要編輯yourDataTable - >從老DataTable中添加舊的行(或從DataGridView如果老數據表不能訪問了)
foreach(DataRow dr in oldDataTable.Rows)
{
yourDataTable.Rows.Add(dr);
}
yourDataGridView.DataSource = yourDataTable;
或編輯oldDataTable - >從yourDataTable添加新行,是這樣的:
DataTable dtOld = (DataTable)yourDataGridView.DataSource;
foreach(DataRow yourdr in yourDataTable.Rows)
{
dtOld.Rows.Add(yourdr);
}
yourDataGridView.DataSource = dtOld;
0
它看來,你想從DataTable
列名和數據表,從行
DataTable myDataTable = new DataTable();
//adding Columns
myDataTable.Columns.Add("colInt", typeof(int));
myDataTable.Columns.Add("colDate", typeof(DateTime));
myDataTable.Columns.Add("colString", typeof(string));
//adding Rows
myDataTable.Rows.Add(1, DateTime.Now, "Hello World");
//to get columns
foreach (DataColumn col in myDataTable.Columns)
{
var c = new DataGridViewTextBoxColumn() { HeaderText = col.ColumnName }; //Let say that the default column template of DataGridView is DataGridViewTextBoxColumn
dataGridView1.Columns.Add(c);
}
//to get rows
foreach (DataRow row in myDataTable.Rows)
{
dataGridView1.Rows.Add(row[0], row[1], row[2]);
}
添加行的DataGridView反正有一個快捷方式 dataGridView1.DataSource = myDataTable;
相關問題
- 1. 將Datatable綁定到Datagridview
- 2. 將控件添加到綁定到DataTable的DataGridView中
- 3. 將行添加到綁定的datagridview
- 4. 將DataSet的DataTable綁定到DataGridView
- 5. VB:如何將DataTable綁定到DataGridView?
- 6. C#將datagridview列的值綁定到DataTable
- 7. DataGridView綁定到DataTable不顯示行
- 8. datatable綁定到datagridview通過綁定源
- 9. DataGridView綁定到DataTable - 現在排序DataGridView
- 10. 將列添加到綁定到DataGridView的DataTable不會更新視圖
- 11. 無法添加行到DataTable
- 12. 將未綁定的DataGridView轉換爲DataTable
- 13. 將行添加到DataTable
- 14. 無法看到行中未綁定DataGridView
- 15. 以編程方式將行添加到數據綁定的DataGridView?
- 16. DataGridView綁定到DataTable與組合框
- 17. datatable綁定到datagridview的問題
- 18. 將行添加到DataGridView
- 19. C#將行添加到datagridview
- 20. 防止將DataTable中的某些DataColumns綁定到DataGridView
- 21. 將DataTable綁定到已經有列定義的Datagridview
- 22. C#將DataTable綁定到現有的DataGridView列定義
- 23. 如何將新行添加到綁定到RowDataBound事件中的gridview的DataTable?
- 24. 無法將DataTable綁定到GridView
- 25. 將行添加到VB.NET中的DataGridView中
- 26. 將綁定的組合框添加到datagridview中
- 27. 如何將新行添加到綁定到List的DataGridView中<MyTableClass>
- 28. 添加一個新行到DataTable綁定到DataGrid
- 29. 在asp.net中添加一行到未綁定的DataGridView
- 30. 將Datagrid Columnheader Backgroud綁定到da datatable行
Item.Array的伎倆,簡單到如此地步。非常感謝您的回覆! – user10001110101