C# 数据表c中未显示的行#
我正在尝试将数据从datagridview复制到datatable,以便可以导出到csv文件 这是密码C# 数据表c中未显示的行#,c#,C#,我正在尝试将数据从datagridview复制到datatable,以便可以导出到csv文件 这是密码 public DataTable createdatatablefromdgv() { DataTable dsptable = new DataTable(); for (int i = 0; i < dataGridView1.Columns.Count; i++) { DataColumn dspcolumn
public DataTable createdatatablefromdgv()
{
DataTable dsptable = new DataTable();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
DataColumn dspcolumn = new DataColumn(dataGridView1.Columns[i].HeaderText);
dsptable.Columns.Add(dspcolumn);
}
int noOfColumns = dataGridView1.Columns.Count;
foreach (DataGridViewRow dgvr in dataGridView1.Rows)
{
DataRow dataRow = dsptable.NewRow();
for (int i = 0; i < noOfColumns; i++)
{
dataRow[i] = dgvr.Cells[i].Value.ToString();
}
}
return dsptable;
}
公共数据表createdatatablefromdgv()
{
DataTable dsptable=新的DataTable();
对于(int i=0;i它似乎将数据从网格复制到表中,但当我返回datatable时,所有列都没有行,在为数据表的列指定值后,您没有将dataRow添加到数据表中
public DataTable createdatatablefromdgv()
{
DataTable dsptable = new DataTable();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
DataColumn dspcolumn = new DataColumn(dataGridView1.Columns[i].HeaderText);
dsptable.Columns.Add(dspcolumn);
}
int noOfColumns = dataGridView1.Columns.Count;
foreach (DataGridViewRow dgvr in dataGridView1.Rows)
{
DataRow dataRow = dsptable.NewRow();
for (int i = 0; i < noOfColumns; i++)
{
dataRow[i] = dgvr.Cells[i].Value.ToString();
}
dsptable.Rows.Add(dataRow); //Add this statement to add rows to Data Table
}
return dsptable;
}
公共数据表createdatatablefromdgv()
{
DataTable dsptable=新的DataTable();
对于(int i=0;iDataTable
上的NewRow()
,您可以向DataTable
添加一个新行,然后可以访问它
NewRow
实际做的是为您提供一个DataRow
的实例,然后您可以使用列名作为列标识符(整数)的apose
这允许您执行类似的操作
DataRow dataRow = dsptable.NewRow();
foreach(DataColumn dc in dsptable.Columns)
{
dataRow[dc.ColumnName] = dgvr.Cells[dc.ColumnName].Value.ToString()
}
或者,您可以只调用Rows.Add()
,当您尝试执行DataRow
时,它会接受一个对象数组或数组
List<string> rowData = new List<string>();
for (int i = 0; i < noOfColumns; i++)
{
rowData.Add(dgvr.Cells[i].Value.ToString());
}
dsptable.Rows.Add(rowData.ToArray());
List rowData=new List();
for(int i=0;i
这应该可以更简单地解释向数据表添加行:)