请告诉我如何从csv文件中按名称添加列数据至少我在寻找一个可以查找的链接,但我没有找到一个工作代码。
我想找到;开始日期";列,并将其添加到数据网格视图中。请帮我修一下代码。这是表格视图(见图)
在此处输入图像描述
期间编号 | 开始日期 | |
---|---|---|
第一次 | 01.07.2021 | |
第二次 | 01.07.2021 |
下面的代码为datatable
创建所有的DataGrid2
列,然后检查是否有一个名为Start Date
的列。如果没有,它会添加列,然后将DataGrid2
行的每个元素移动到datatable
,最后将数据表移动到DataGrid2
中。
DataTable dtable = new DataTable();
string[] lines = System.IO.File.ReadAllLines(openFileDialog1.FileName);
if (lines.Length > 0)
{
//first line to create header
string firstLine = lines[0];
string[] headerLabels = firstLine.Split(',');
//all columns datadgrid2 push to datatable
bool IsNotExistsColumnStartDate = true;
for (int i = 0; i < DataGrid2.Columns.Count; i++)
{
string headerColumn = DataGrid2.Columns[i].HeaderText;
if (headerColumn == "Start Date")
IsNotExistsColumnStartDate = false;
dtable.Columns.Add(new DataColumn(headerColumn));
}
//add column Start Date
if (IsNotExistsColumnStartDate)
dtable.Columns.Add(new DataColumn("Start Date"));
foreach (string headerWord in headerLabels)
{
if (headerWord == "Start Date")
{
int j = 1;
foreach (DataGridViewRow row in DataGrid2.Rows)
{
string[] dataWords = lines[j].Split(',');
DataRow dr = dtable.NewRow();
for (int k = 0; k < row.Cells.Count; k++)
{
dr[k] = row.Cells[k].Value;
}
dr["Start Date"] = dataWords[j];
dtable.Rows.Add(dr);
j++;
}
}
}
}
DataGrid2.DataSource = dtable;