2013-10-24 4 views
1

나는 파일에서 텍스트를 읽고 그것을 listviews 컬럼에 넣길 원한다. 파일 내의 텍스트는 '/'로 구분되며 각 /는 텍스트가 다음 열을 결합 할 때를 나타냅니다. 내가 시도 어떤 것들은는 listview.I've에 넣어 didnt는 같은 일을 일부러 파일에서 텍스트를 읽고 listview 하위 항목에 넣으시겠습니까?

ListViewItem lv = new ListViewItem(); 
       lv.Text = fileContent[0].ToString(); 
       lv.SubItems.Add(fileContent[1].ToString()); 
       lv.SubItems.Add(fileContent[2].ToString()); 
       lv.SubItems.Add(fileContent[3].ToString()); 

다른 아이디어를 주변 검색을 시도하지만, 아무 일 없다.

전체 코드는 다음과 같습니다

private void button1_Click(object sender, EventArgs e) 
     { 
      OpenFileDialog ofd = new OpenFileDialog(); 
      if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
      { 

       string fileToOpen = ofd.FileName; 

       System.IO.StreamReader sr = new System.IO.StreamReader(fileToOpen); 
       string fileContent = sr.ReadToEnd(); 
       string[] fileItems = fileContent.Split('/'); 
       sr.Dispose(); 

       ListViewItem lv = new ListViewItem(); 
       lv.Text = fileContent[0].ToString(); 
       lv.SubItems.Add(fileContent[1].ToString()); 
       lv.SubItems.Add(fileContent[2].ToString()); 
       lv.SubItems.Add(fileContent[3].ToString()); 



      } 
     } 

감사 alot을!

+2

샘플 입력 파일 샘플과 너무'fileContent' 변수를 채우는 코드를 기입하십시오. –

+0

'ListViewItem'을 인스턴스화하고 항목을 추가하면 ListView에 추가되지 않습니다. 실제로'ListView'에'ListVIewItem'을 추가하고 있습니까? –

+0

Byte 내가 그것을 추가했습니다! 또한, 귀하의 질문 사이먼을 이해하지 못합니다. –

답변

1

ListView에 새 ListViewItem을 추가하기 만하면됩니다. 현재이 작업을 수행하고 있지 않습니다. 당신이하고있는 일은 독립형 ListViewItem ..을 만들고 메모리에 앉아있는 것입니다.

그래서,이 선 후 :

ListViewItem lv = new ListViewItem(); 
lv.Text = fileContent[0].ToString(); 
lv.SubItems.Add(fileContent[1].ToString()); 
lv.SubItems.Add(fileContent[2].ToString()); 
lv.SubItems.Add(fileContent[3].ToString()); 

는이 작업을 수행 :

yourListView.Items.Add(lv); // add the listviewitem to the listview 

편집 : 당신이 항목을 추가 fileContent를 사용하고 있기 때문에

가 잘못 분할있어 그 이유는 . fileContent은 파일의 전체 내용입니다. 원하는 내용이 아닙니다. 문자열 []에 인덱서 메서드를 사용하면 개별 문자에 액세스 할 수 있습니다.

이에 코드를 변경

:

ListViewItem lv = new ListViewItem(); 
lv.Text = fileItems[0].ToString(); // Use fileItems.. its the result of the split. 
lv.SubItems.Add(fileItems[1].ToString()); // Use fileItems.. its the result of the split. 
lv.SubItems.Add(fileItems[2].ToString()); // Use fileItems.. its the result of the split. 
lv.SubItems.Add(fileItems[3].ToString()); // Use fileItems.. its the result of the split. 
+0

흠, 잘 했어! 그러나 내가 추가하고 싶은 단어 중 하나는 '보통'입니다. 그것은 그것을 P, L, A, I, N으로 분리하여 여러 단어가 아닌 여러 열로 나누었습니다. 이유가 무엇입니까? –

+0

아니요. 문제가있는 파일 샘플이 없으면 알려줄 수있는 방법이 없습니다. –

+0

평야/매끄러운/거친/평온은 단어이고, 그 평야는 평야까지입니다. 내게는 –

관련 문제