2017-05-08 53 views
1

我有一個對象列表。我想將這些項目添加到ListView。我試圖添加每個列表項明智但格式是非常糟糕的,它應該在適當的表格格式。如何將列表項添加到C#winform中的ListView?

 List<string> lst = new List<string>(); 
     lst.Add("John dsfsfsdfs " + "1" + 100); 
     lst.Add("Smith sdfsdfsdfs" + "2" + 120); 
     lst.Add("Cait dsffffffffffffffffffffff" + "3" + 97); 
     lst.Add("Irene" + "4" + 100); 
     lst.Add("Ben"  + "5" + 100); 
     lst.Add("Deniel   jjhkh " + "6" + 88); 

     foreach(string pl in lst) 
     { 
      listView1.Items.Add(pl); 

     } 

項目不可見,它應該是正確的格式。

Table Format

+1

ListView'控件可以用多種方式顯示項目。對於表格視圖,請確保將[View](https://msdn.microsoft.com/en-us/library/system.windows.forms.listview.view.aspx)屬性設置爲'Details' – IronGeek

+0

我試圖設置詳細信息,但它顯示空白列表視圖 –

+0

你設置了[列](https://msdn.microsoft.com/en-us/library/system.windows.forms.listview.columns.aspx)屬性嗎? 「如果您的ListView控件沒有指定任何列標題,並且您將View屬性設置爲Details,則ListView控件將不顯示任何項目。」 – IronGeek

回答

2

爲了讓多列:

1)設置的ListView進入詳細模式:設置你的三列

listView1.View = View.Details; 

2):

listView1.Columns.Add("Column1Name"); 
    listView1.Columns.Add("Column2Name"); 
    listView1.Columns.Add("Column3Name"); 

3)添加您的項目:

listView1.Items.Add(new ListViewItem(new string[]{"John dsfsfsdfs ", "1" , "100"})); 

4)爲了讓更多的可視嘗試:

listView1.GridLines = true; 

5)要隱藏的列標題:

listView1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; 
+0

仍然無效 –

+0

listView1.Items.Add(lst);行是不正確的 –

+0

如果你只是想添加字符串列表是正確的o單列listView :)在你的情況下,你應該避免它。只需使用下面的所有內容「使其成爲多欄」,它會很好:) –

0

您可以使用ListViewItem直接創建子項的項目( - >「表格「)而不是僅僅添加字符串到您的ListView:

listView1.Items.Add(new ListViewItem (new[]{"John dsfsfsdfs", "1", "100"})); 
listView1.Items.Add(new ListViewItem (new[]{"Smith sdfsdfsdfs", "2", "120"})); 
listView1.Items.Add(new ListViewItem (new[]{"Cait dsffffffffffffffffffffff", "3", "97"})); 
listView1.Items.Add(new ListViewItem (new[]{"Irene", "4", "100"})); 
listView1.Items.Add(new ListViewItem (new[]{"Ben", "5, "100"})); 
listView1.Items.Add(new ListViewItem (new[]{"Deniel   jjhkh", "6", "88"})); 
+0

,但如何格式化? –

0

您可以創建一個DataTable並將其綁定一個s a source

foreach (DataRow row in data.Rows) 
{ 
    ListViewItem item = new ListViewItem(row[0].ToString()); 
    for (int i = 1; i < data.Columns.Count; i++) 
    { 
     item.SubItems.Add(row[i].ToString()); 
    } 
    listView_Services.Items.Add(item); 
} 
相關問題