我有一个预定义的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