C# - 锯齿状的字符串[][]数组名变成DataTable/DataGridView
C# - Jagged string[][] arrayname into DataTable/DataGridView
我不熟悉 C# 编程和操作交错数组的主题。
我的 string[][] 数组名中存储了一些数据,想在 datagridview 中显示它。
如果您能就此案提出建议,我将不胜感激。
你需要创建数据集,通常我使用DataTable,我已经为你的问题起草了解决方案,但你必须使用Linq:
var ListName = arrayname.ToList();
//get number of column, probalby you dont need it
int cols = ListName.Select(r => r.Length).Max();
//Create a datasource
DataTable dt = new DataTable();
//Write column, probalby you dont need it
for (int f = 0; f < cols; f++)
dt.Columns.Add("Col " + (f+1));
foreach (var row in ListName) {
//make a row
List<string> Lrow = new List<string>();
Lrow.AddRange(row);
//if row is too short add fields
if (Lrow.Count < cols)
for (int i = Lrow.Count; i < dt.Columns.Count; i++) {
Lrow.Add("");
}
//at last add row to dataTable
dt.Rows.Add(Lrow.ToArray());
}
//and set dataGridView's DataSource to DataTable
dataGridView1.DataSource = dt;
The result should be this
我不熟悉 C# 编程和操作交错数组的主题。
我的 string[][] 数组名中存储了一些数据,想在 datagridview 中显示它。
如果您能就此案提出建议,我将不胜感激。
你需要创建数据集,通常我使用DataTable,我已经为你的问题起草了解决方案,但你必须使用Linq:
var ListName = arrayname.ToList();
//get number of column, probalby you dont need it
int cols = ListName.Select(r => r.Length).Max();
//Create a datasource
DataTable dt = new DataTable();
//Write column, probalby you dont need it
for (int f = 0; f < cols; f++)
dt.Columns.Add("Col " + (f+1));
foreach (var row in ListName) {
//make a row
List<string> Lrow = new List<string>();
Lrow.AddRange(row);
//if row is too short add fields
if (Lrow.Count < cols)
for (int i = Lrow.Count; i < dt.Columns.Count; i++) {
Lrow.Add("");
}
//at last add row to dataTable
dt.Rows.Add(Lrow.ToArray());
}
//and set dataGridView's DataSource to DataTable
dataGridView1.DataSource = dt;
The result should be this