2010-08-17 74 views
0

我有一個列表視圖whith幾列。 我想填充此列表視圖以垂直形式 列到列。如何填充垂直形式的列表視圖?

+0

它是Asp.Net還是? – 2010-08-17 09:03:29

+1

沒有親愛的 我的項目是由c# – mosa 2010-08-17 09:23:51

+0

WinForms或WPF呢? – 2010-08-17 09:40:08

回答

0

對不起,但這不是(容易)可能的。

ListView具有ListViewItem s,其中每一個具有ListViewSubItem秒的列表的列表(以及,使之更復雜一些在所述第一點,所述第一ListViewSubItem是一樣的ListViewItem本身)。

所以,如果你想填寫一個ListView逐列,你首先必須將ListViewItem s添加到ListView爲您想要在第一列中的所有值。

之後,您將遍歷ListView.Items,並調用每個ListViewItem.Subitems.Add填充下一列。這必須爲您想要填寫的每一列完成。

如果您希望以另一種順序填充列值,然後從左至右,應該查看ListView.Columns內的ColumnHeaderDisplayIndex

一些示例代碼:

// Some values 
var someValues = Enumerable.Range(1, 10); 

// Fill up the first column 
foreach (var item in someValues) 
{ 
    listView.Items.Add("0." + item); 
} 

// Run for each column in the listView (the first is already filled up) 
foreach (ColumnHeader column in listView.Columns.Cast<ColumnHeader>().Skip(1)) 
{ 
    // Get the value and the index for which row the value should be 
    foreach (var item in someValues.Select((Value, Index) => new { Value, Index })) 
    { 
     // Add the value to the given row, thous leading to be added as new column 
     listView.Items[item.Index].SubItems.Add(column.Index + "." + item.Value); 
    } 
} 
+0

感謝您的回答 merc – mosa 2010-08-17 10:29:30