グリッド値のDataGridViewからDataTableを取得したい。
言い換えれば、DataTableはDataGridViewの値と同じです
グリッド値のDataGridViewからDataTableを取得したい。
言い換えれば、DataTableはDataGridViewの値と同じです
それを行うにはより良い方法かもしれませんが、それ以外の場合は、DGV をループして DataTable を手動で作成するのはかなり簡単です。
このようなものがうまくいくかもしれません:
DataTable dt = new DataTable();
foreach(DataGridViewColumn col in dgv.Columns)
{
dt.Columns.Add(col.Name);
}
foreach(DataGridViewRow row in dgv.Rows)
{
DataRow dRow = dt.NewRow();
foreach(DataGridViewCell cell in row.Cells)
{
dRow[cell.ColumnIndex] = cell.Value;
}
dt.Rows.Add(dRow);
}
DataGridView から DataTable に DataSource オブジェクトをキャストできます。
DataTable dt = new DataTable();
dt = (DataTable)dataGridView1.DataSource;
次のコードも使用できます。このコードは、データテーブルで行を追加または削除するときにDataGridViewに影響を与えません。
DataTable dt = new DataTable();
dt = Ctype(dataGridView1.DataSource,DataTable).copy();