【发布时间】:2016-03-26 17:43:08
【问题描述】:
我正在尝试将数据手动添加到 DataGridView(显示学生当年出勤的网格视图)。问题是,当我向 DataGridView 添加一行数据而不是创建新行并将数据添加到其中时。创建一个新的空白行并将数据添加到顶行。以下是相关代码:
foreach (IndividualAttendanceRecord rec in DatabaseInterfacer.GetRecords("pi404"))
{
if (dataGrid.ColumnCount < rec.Attendance.Count)
dataGrid.ColumnCount = rec.Attendance.Count;
List<String> row = new List<string>();
foreach (string entry in rec.Attendance)
row.Add(entry);
string[] rowArray = row.ToArray<string>();
dataGrid.Rows.Add(rowArray);
}
执行此代码会生成一个 DataGridView,其中所有数据在一行中,然后在底部有两个空行。
有什么帮助吗?
编辑: 仍然完全难倒这一点。我已经简化了我的代码并在 foreach 语句中添加了一些测试行,但我不明白为什么它的输出方式是这样的。这是我的新代码:
foreach (IndividualAttendanceRecord rec in DatabaseInterfacer.GetRecords("pi404"))
{
if (dataGrid.ColumnCount < rec.Attendance.Count)
dataGrid.ColumnCount = rec.Attendance.Count;
string[] row = rec.Attendance.ToArray<string>();
dataGrid.Rows.Add(row);
dataGrid.Rows.Add("1", "2", "3");
dataGrid.Rows.Add("One", "Two", "Three");
}
这是它的输出:http://i.imgur.com/f45mlod.png
我不明白为什么它仍然将 IndividualAttendanceRecord 中的所有信息单独放在一行中,然后创建一个空白行并放入“1 2 3”和“一二三”。
谁能明白为什么会这样?我可能真的很愚蠢。
【问题讨论】:
标签: c# winforms datagridview