以正确的方式填写ListView

时间:2014-06-18 06:42:36

标签: c# winforms listview

您好我正在尝试用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 });

到目前为止这么好,但数据填写错误。它没有垂直填充,而是水平填充。是否可以垂直填写数据?我做错了吗?

1 个答案:

答案 0 :(得分:2)

每一行&#34;行&#34;在ListView中由单个ListViewItem表示。该行的每一列都由ListViewItem的SubItems表示。

因此,如果要填充6列的行,则执行以下操作:

ListViewItem itemX;

for (int i = 0; i < 10; i++)
{
    itemX = new ListViewItem(i.ToString()); // First column
    itemX.SubItems.Add("Column 2")
    itemX.SubItems.Add("Column 3")
    itemX.SubItems.Add("Column 4")
    itemX.SubItems.Add("Column 5")
    itemX.SubItems.Add("Column 6")

    myListView.Items.Add(itemX); // Add the complete row to the ListView
}

上面的示例将向ListView添加10行,包含6列:

 1 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 2 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 3 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 4 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 5 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 6 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 7 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 8 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
 9 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6
10 | Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6

只需确保您在设计模式下创建了列,并将View属性设置为Details