2012-08-17 7 views
1

나는 세 개의 열이있는 ListView을 가지고 있으며 ListView에 4 개의 레코드를 추가했습니다. 2의 값을 얻고 싶습니다. nd 각 레코드의 열 값입니다. 그것을 구현하는 방법?특정 ListView 열의 모든 행에서 값을 가져 오는 방법은 무엇입니까?

+3

표시 컨트롤 대신 기본 데이터 소스에서 값을 가져 오는 것이 더 실용적입니다. – David

+0

listvew에서 객체 값을로드하는 경우 http://objectlistview.sourceforge.net/cs/index.html –

답변

1

모든 행을 반복하여 시도해보십시오.

하위 항목 [columnnumber 상기 필수

lv.Items [I]를 .SubItems [1]는 .text

+0

예,이 루프는 실행되지 않습니다. 여기 내 코드 (int i = 0; i <= listview1.Items.Count; i ++) {listview1.Items [i] .Selected = true; string path = sch.m_playlist.SelectedItems [i] .SubItems [1]. 텍스트; MessageBox.Show (path); } –

+1

이 작업을 수행하려고합니까? - 'for (int i = 0; i <= listview1.Items.Count; i ++) { string path = listview1.Items [i] .SubItems [1]. 텍스트; MessageBox.Show (path); } ' – ygssoni

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

+1 사용 * 캐스트 * – thersch

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 것 for 루프보다 더 빠르게 액세스 할 수 있습니다.

관련 문제