2014-05-21 63 views
-1

爲(INDX = 0;(INDX < =(Dt.Rows.Count - 1)); INDX ++)System.Windows.Forms.ListViewItem.ListViewSubItem C#錯誤

 { 
      ListViewItem lv = new ListViewItem(); 
      lv.Text = Dt.Rows[indx]["ID"]; 
      lv.SubItems.Add(Dt.Rows[indx]["GuestFName"]); 
      lvGuest.Items.Add(lv); 
     } 

所以這是我的問題。我在

lv.SubItems.Add(Dt.Rows [indx] [「GuestFName」]);

錯誤說

的最佳重載方法匹配 'System.Windows.Forms.ListViewItem.ListViewSubItemCollection.Add(System.Windows.Forms.ListViewItem.ListViewSubItem)' 有一些無效參數

什麼似乎是問題? :(

回答

2

ListViewSubItemCollection類有兩個Add方法 - 一個接受string另一個接受ListViewSubItem比如我認爲你應該使用在這種情況下,第一個 - 只要行字段值轉換爲字符串:

lv.SubItems.Add(Dt.Rows[indx]["GuestFName"].ToString()); 

注意:你可以使用LINQ到這裏的DataTable:

foreach(var row in Dt.AsEnumerable()) 
{ 
    ListViewItem item = new ListViewItem(); 
    item.Text = row.Field<string>("ID"); 
    item.SubItems.Add(row.Field<string>("GuestFName")); 
    lvGuest.Items.Add(item);  
} 
+1

嘿先生謝爾蓋感謝您的答覆我給這個一杆,看看它是否工作 – Jhayzt

+0

好吧,我不腸道波浪線已經:!。!d謝謝先生,謝爾! – Jhayzt