2010-05-10 4 views
0

4 개의 콤보 박스와 2 개의 파일이 있습니다. 열이 콤보 상자와 일치하는 경우 파일에 기록해야하지만 두 번째 콤보 상자가 있어야합니다. 따라서 예를 들어콤보 상자 텍스트에서 열을 추출하는 C#

Combobox1 : Apple | 오렌지
Combobox2 : 파인애플 | 배 | | 복숭아 | 순무 | 원숭이 | 애플 | 포도 | 매화

오렌지 : 매화

나는 텍스트 파일을 던졌다 검색 및 Apple 또는 매화 무엇이든 열을 찾을 필요가 애플 매화

를 선택 그리고 나서 필자는 열 Apple | Plum을 새로운 텍스트 파일로 작성해야합니다. 어떤 도움이 굉장 할 것입니다!

더 나은 예를 콤보 상자 선택 항목 : 애플 Combobox2 선택 항목 : 매화

텍스트 파일 :
APPLE | 배 | 자두 | 오렌지
1 | 2 | 3 | 4
(215) | 3 | 45 | 98
125 | 498 | 76 |
4165 4 | 465 | 4 | 65

이 결과 파일 :
1 | 3
215 |
125 45 |
4165 76 | 4

덕분에 조언을, 나는 여러 열을 갖는 구분 된 파일에서 파일을 만들 얼마나, 파일을 콤보 상자에 추가 또는 읽기에 도움을 필요 없어요.

+0

나는 당신의 질문에 대해 무엇인지 전혀 모른다; 어떤 열을 추천하고 있습니까? 그리고 어떤 칼럼을 찾아야합니까? – riffnl

+0

이것들은 모두 예제 일뿐입니다. 열은 사용자가 선택하는 것입니다. –

답변

0

빠른 & 더러운 :

TBH
  string[] data = null; 
      using (StreamReader sr = new StreamReader("data.txt")) 
      { 
       data = sr.ReadToEnd().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); 
      } 
      if (data != null && data.Length > 0) 
      { 
       int colIndex1 = -1; 
       int colIndex2 = -1; 
       string[] line = data[0].Split(new char[] { '|' }); 
       for (int i = 0; i < line.Length; i++) 
       { 
        if (String.Compare(line[i], comboBox1.Text, true) == 0) 
        { 
         colIndex1 = i; 
        } 
        if (String.Compare(line[i], comboBox2.Text, true) == 0) 
        { 
         colIndex2 = i; 
        } 
       } 
       using (StreamWriter sw = new StreamWriter("output.txt")) 
       { 
        sw.WriteLine(comboBox1.Text + "|" + comboBox2.Text); 
        for (int i = 1; i < data.Length; i++) 
        { 
         line = data[i].Split(new char[] { '|' }); 
         sw.WriteLine(line[colIndex1] + "|" + line[colIndex2]); 
        } 
       } 
      } 
0

답변에 대한 추가 정보없이 답할 수없는 많은 단계가 있습니다. 그러나 genreal 있음

에서 만들기
폼에 콤보 상자를 추가하십시오.
채울 콤보 상자
myCombo.Change + = 새로운 이벤트 핸들러 (comboChanged)

하면 변경 콤보 상자의 선택된 값을 기준으로 검색을 수행하는 코드를 추가에 변경 이벤트에 이벤트 리스너를 추가
콤보 상자 .