Datagridview中的数据表(databinding)
本文关键字:databinding 数据表 Datagridview | 更新日期: 2023-09-27 18:10:16
我使两个datagridview通过msdn现在我需要从"detailsDataGridView"获得数据表,但我不能转换它。错误:System.Windows.Forms.BindingSource不能被强制转换为System.Data.DataTable类型。
任何想法?代码,我试过了。
DataTable d = detailsDataGridView.DataSource as DataTable;
/////////////
DataTable dt = new DataTable();
dt = (DataTable)detailsDataGridView.DataSource;
////////////
BindingSource bs = new BindingSource();
bs.DataSource = detailsDataGridView.DataSource;
DataTable d = (DataTable)(bs.DataSource);
////////////
DataTable data = GetDataTableFromDGV(dgvMyMembers);
private DataTable GetDataTableFromDGV(DataGridView dgv)
{
var dt = ((DataTable)dgv.DataSource).Copy();
foreach (DataGridViewColumn column in dgv.Columns)
{
if (!column.Visible)
{
dt.Columns.Remove(column.Name);
}
}
return dt;
}
试试这个方法,这就是你需要的:
DataGridView的名称是detailsDataGridView,所以你要这样做:
DataTable data = getdatatablefromgv (detailsDataGridView);
那么data就是数据表!
private DataTable GetDataTableFromDGV(DataGridView dgv)
{
var dt = ((DataTable)dgv.DataSource).Copy();
foreach (DataGridViewColumn column in dgv.Columns)
{
if (!column.Visible)
{
dt.Columns.Remove(column.Name);
}
}
return dt;
}
你可以在这里看到我对这个问题的回答
祝你好运!