【发布时间】:2014-06-18 06:42:35
【问题描述】:
您好,我正在尝试填写一个包含 6 列的列表视图。我用这段代码填充它们:
ListViewItem item1 = new ListViewItem();
ListViewItem item2 = new ListViewItem();
ListViewItem item3 = new ListViewItem();
ListViewItem item4 = new ListViewItem();
ListViewItem item5 = new ListViewItem();
ListViewItem item6 = new ListViewItem();
for (int i = 0; i < _leftTimeTable.Cars.Count; i++)
{
List<TimeSpan> fgarList = _leftTimeTable.Cars[i].GetStopTimes(StopActions.FromGarage);
List<TimeSpan> tgarList = _leftTimeTable.Cars[i].GetStopTimes(StopActions.ToGarage);
_headersTable[i + 1, 0] = (i + 1).ToString();
int column;
item1.SubItems.Add(i.ToString());
column = 1;
for (int j = 0; j < fgarList.Count && column < 4; j++)
{
item2.SubItems.Add(Car.GetFormattedTime(fgarList[j]));
}
column = _headersTable.GetLength(1) - 3;
for (int j = tgarList.Count - 1; j >= 0 && column > 1; j--)
{
item5.SubItems.Add(Car.GetFormattedTime(tgarList[j]));
}
if (_leftTimeTable.Cars[i].GetDriverChangeTimes.Count > 0) _headersTable[i + 1, 5] = Car.GetFormattedTime(_leftTimeTable.Cars[i].GetDriverChangeTimes[0]);
}
listViewIzvlechenieLEFT.Items.AddRange(new ListViewItem[] { item1, item2, item3, item4, item5, item6 });
到目前为止一切顺利,但数据填充方式错误。它不是垂直填充的,而是水平填充的。是否可以垂直填写数据?我做错了吗?
【问题讨论】:
-
有一个叫做 View 的属性,你可以用它来设置你的视图类型
-
我认为您的意思是为每个元素添加一个新的
ListViewItem,而不是SubItems -
我正在为每个元素设置 ListViewItem。它在我的代码的顶部。它是为每个项目设置的。
-
横向添加子项,纵向添加listviewitems
-
item1 到 item6 被声明为 listviewitems 但 item1 没有“add”属性它只有 SubItems.add :/ 如果我这样做: item2.ListView.Items.Add(Car. GetFormattedTime(tgarList[j]));整个程序崩溃