2016-08-04 29 views
1

調用的形式InitializeComponent後一列顯示對象的名單在ListView,我創建了一個List<DeletionTarget>如何與每個屬性

var deletionList = new List<DeletionTarget>(); 

deletionList.Add(new DeletionTarget("path1", new DateTime(2016, 1, 10), false)); 
deletionList.Add(new DeletionTarget("path2", new DateTime(2016, 2, 10), true)); 
deletionList.Add(new DeletionTarget("path3", new DateTime(2016, 3, 10), false)); 
deletionList.Add(new DeletionTarget("path4", new DateTime(2016, 4, 10), true)); 
deletionList.Add(new DeletionTarget("path5", new DateTime(2016, 5, 10), false)); 

哪裏DeletionTarget是具有這些特性的簡單對象:

public string Path; 
public DateTime Period; 
public bool Recurse; 

public DeletionTarget(string path, DateTime period, bool recurse) 
{ 
    Path = path; 
    Period = period; 
    Recurse = recurse; 
} 

接下來,我稱之爲InitializeView()方法:

public void InitializeListView() 
{ 
    var header1 = listView1.Columns.Add("Path", -2, HorizontalAlignment.Left); 
    var header2 = listView1.Columns.Add("Period", -2, HorizontalAlignment.Left); 
    var header3 = listView1.Columns.Add("Recurse", -2, HorizontalAlignment.Left); 
} 

這應該一些列添加到ListView(每個屬性在DeletionTarget對象)。現在是時候將數據添加到ListView

foreach (var item in deletionList) 
{ 
    var lvi = new ListViewItem(new[] { item.Path, item.Period.ToString(), item.Recurse.ToString() }); 
    listView1.Items.Add(lvi); 
} 

當我運行程序,這是我的表是這樣的:

enter image description here

正如你可以看到,這是相當無用。我需要每個項目顯示在一個單獨的行上,每個屬性都有一列。有人可以幫助我瞭解我在這裏做錯了嗎?

謝謝

回答

0

這是因爲發生在ListViewView選項被設置爲錯誤的選項(LargeIcon)。我能這樣做,以克服這一以下內容:

在Visual Studio中,請單擊設計模式ListView中的小箭頭。選擇視圖,然後詳細介紹: enter image description here

的項目現在顯示爲每個實例化一個新行,和所有的財產列的存在: enter image description here