我有三个阵列,如下所述。试图填充数据表。但是没有预料到产量。
需要此格式
AnalyteNames = new string[] { "NA", "K", "CL" };
Units = "MML";
values= new string[]{"14", "15","16"}
以下是书面代码。
int count = 0;
for (int col = 0; col < dataSave.Columns.Count; col++)
{
int i = 0;
if (col == 0)
{
for (int row = 1; row < dataSave.Rows.Count - 1; row++)
{
dr[col] = CheckedAnalytes[i];
i++;
}
}
if (count == 1)
{
i = 0;
for (int row = 1; row < dataSave.Rows.Count - 1; row++)
{
dr[col] = SelectedUnits;
}
}
if (count == 2)
{
i = 0;
for (int row = 1; row < dataSave.Rows.Count - 1; row++)
{
dr[col] = values[i];
i++;
}
}
count++;
}
答案 0 :(得分:0)
假设有三个长度相同的数组:
var analyteNames = new string[] { "NA", "K", "CL" };
var units = new string[]{"MML", "MML", "MML"};
var values = new string[]{"14", "15","16"};
包含三列的数据表:
var dt = new DataTable();
dt.Columns.Add("analyteNames", typeof(string));
dt.Columns.Add("units", typeof(string));
dt.Columns.Add("values", typeof(string));
您可以使用接受DataRowCollection
的{{1}} Add
方法重载来使用单个循环:
params object[]
答案 1 :(得分:0)
如果是我,我将填充自定义列表插入值并填充DataTable()
自定义列表
public class Values
{
public int value1
{
get;
set;
}
public string value2
{
get;
set;
}
public string value3
{
get;
set;
}
}
下一步填充列表
List<Values> list = new List<Values>();
list.Add(new Values{
value1 = 1,
value2 = "",
value3 = ""
});
下一步填充您的DataTable()
var dt = new DateTable();
dt.Columns.Add(Header1, typeof(int));
dt.Columns.Add(Header2, typeof(string));
dt.Columns.Add(Header3, typeof(string));
foreach(var item in list)
{
dt.Rows.Add(item.value1,item.value2,item.value3);
}