2012-08-17 94 views
1

我有一個ListView三列,我在ListView增加了4條記錄。 我想得到每個記錄的列值的值。如何實現它?如何獲取特定ListView列的所有行中的值?

+3

從底層數據源而不是顯示控件獲取值可能更實用。 – David 2012-08-17 17:44:34

+0

如果你正在加載listvew中的對象值,然後看到http://objectlistview.sourceforge.net/cs/index.html – 2012-08-18 10:00:28

回答

1

遍歷所有行並嘗試此操作。

子項[得到columnnumber]將是必需字段

lv.Items [I] .SubItems [1]。文本

+0

是的,我喜歡這個,但循環不執行。這裏是我的代碼(int i = 0; i <= listview1.Items.Count; i ++){listview1.Items [i] .Selected = true; string path = sch.m_playlist.SelectedItems [i] .SubItems [1] .Text; MessageBox.Show(路徑); } – 2012-08-18 02:56:46

+1

你想要做這個嗎? - 'for(int i = 0; i <= listview1.Items.Count; i ++) { string path = listview1.Items [i] .SubItems [1] .Text; MessageBox.Show(path); }' – ygssoni 2012-08-18 06:03:10

4
var vals = listView1.Items.Cast<ListViewItem>().Select(lvi => lvi.SubItems[1].Text); 
+1

+1使用* Cast * – thersch 2012-08-17 18:03:08

2
// Convert items to an IEnumerable for LINQ usage 
ListViewItem[] items = new ListViewItem[4]; 
listView.Items.CopyTo(items, 0); 

// Use LINQ to get values 
IEnumerable<string> secondColumnValues = items.Select(_ => _.SubItems[1].Text); 
0
foreach(ListViewItem itm in listView1.Items){ itm.Text/*first column of the particular item*/ itm.SubItem[1].Text/*second column of the particular item*/} 

因爲foreach循環的列numbr可以訪問比循環更快的速度

相關問題