gpt4 book ai didi

c# - 将 DataGrid 转换为 DataTable

转载 作者:太空宇宙 更新时间:2023-11-03 22:57:42 26 4
gpt4 key购买 nike

在 .NET 中将我的 DataGrid 转换为 DataTable 的等效项是什么(DataGrid.ItemsSource 未在 .Net csharp 中定义。

谢谢!

DataTable dt = new DataTable();
dt = ((DataView)DataGrid1.ItemsSource).ToTable();

编辑

这不是重复的,因为前面的代码是针对 WPF 的,我正在寻找 asp.net mvc csharp 的答案。

最佳答案

ItemsSource 用于 WPF。使用 DataSource 并将其转换为 DataTable,如下所示:

dt = (DataTable)DataGrid1.DataSource;

编辑:如果您在使用上述方法时遇到麻烦,您可以使用如下自定义方法:

private DataTable ToDataTable(DataGridView dataGridView)
{
var dt = new DataTable();
foreach (DataGridViewColumn dataGridViewColumn in dataGridView.Columns)
{
if (dataGridViewColumn.Visible)
{
dt.Columns.Add();
}
}
var cell = new object[dataGridView.Columns.Count];
foreach (DataGridViewRow dataGridViewRow in dataGridView.Rows)
{
for (int i = 0; i < dataGridViewRow.Cells.Count; i++)
{
cell[i] = dataGridViewRow.Cells[i].Value;
}
dt.Rows.Add(cell);
}
return dt;
}

然后使用它:

var dataTable = ToDataTable(dataGridView1);

如果 Datasource 的类型是列表,MoreLinq 也是一个不错的选择。检查此解决方案以了解如何使用它:https://stackoverflow.com/a/42550827/2946329

关于c# - 将 DataGrid 转换为 DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com