2012-07-24 1 views
0

자,이 프로젝트를 진행하면서 순서대로 작업을 진행했습니다.C# 목록보기 작성 및 목록보기 읽기 (하위 항목에 대한 목록보기 표시기 추가 방법)

은 무엇 내가 가진 것은 이것이다 :

+---Date---+----Time----+----Error-----------+
|24-24-2012| 4:42 | Warning - test/test|
+----------+------------+--------------------+

가 지금은 모든 작업,이어야 읽기 & 쓰기를 얻었다.

date | time | error 
: 나는이 같은 writtin 싶은

Date (items.add) 
time (subitem) 
error (subitem) 

: 같은

하지만 난 그것을 것이라고 기대했다으로서의는 않을 ...

나는 것으로 이러한 텍스트를 원했다

그리고 프로그램이 그것을 읽으면, 그는 알고 있습니다 :

| = Start of subitem (|| end of subitem) 
이 텍스트 파일과 같을 것이다 그래서

이 writtin되어야하는 것입니다

date | time ||| error || (wich means : time start+end/error start+end (add to subitem) 

내가 프로그램 비주얼 스튜디오는 그가 꽤 하드 우 (| 1x = subitems.add(" - And | 2x = ");

설명하는 것을 알고 있다는 것을 알고 싶어요. 아프다.

| = subitems.add("<br> 
|| = "); 

같은 파일을 작성하는 것은 같을 것이다 프로그램 부팅, 그것은이 방법을 다시 읽되면

| hello ||| test || 

: 느릅 나무와 같은 텍스트 파일 발생합니다

writer.writeline(| + "hello" + || + | + "test" + ||); 

:

Listview.additems.add(hello) *with no | or ||* 

및 일이 될 것입니다 :

listview.subitem(test) *with no | or ||* 

등등 ...

안부 Dyllan

스크린 샷이 나 같은 자폐증을 가진 사람을위한 더 나은 littlebit 설명.

Click here for screenshot

+1

당신이 읽을 수 제작으로 어떤 노력을 할 수 : 당신은 코드는 다음과 같이 보일 것있어? –

+0

에 대한 스크린 샷이 첨부되어 있습니다. 설명하기 위해 최선을 다해 노력하지만 너무 열심히 나를 설명해 주려합니다. – user1547355

답변

0

그래서 응답을 다른 답변으로 추가하십시오.

using(StreamReader reader = new StreamReader(logFileName)) 
{ 
    StringBuilder currentItem = new StringBuilder(); 
    char currentChar; 
    while (true) 
    { 
    if (reader.Peek() == 'specialChar') 
    { 
     if (currentChar == '|') 
     { 
     // This indicates that the currentItem is subItem 
     AddNewSubitem(currentItem.ToString()); 
     } 
     else 
     { 
     AddNewItem(currentItem.ToString()); 
     } 
     currentItem.Clear(); 
     reader.Read(); 
    } 
    else if (reader.Peek() != null) 
    { 
     curentItem.Append(reader.Read()); 
    } 
    else 
    { 
     break; 
    } 
    } 
} 
0

나는 완전히 당신이 달성하기 위해 필요한 이해했는지 모르겠지만 제가 이해 내가 생각하는 것은 특정 템플릿을 수행 할 수있는 목록 상자의 각 항목을 원하는 것입니다 - 그래서 메인 템플릿은 어떤 X 템플릿에있을 것이고, 서브 아이템은 다른 템플릿을 가질 것입니다. 추가 할 항목 유형에 따라 목록 상자에 addig를 설정할 때

listboxitem.template = isSubitem?subItemTemplate : mainItemTemplate;

그리고 그게 내가 당신의 질문에서 이해 한 전부입니다. 희망적이라고 생각합니다.

+0

잘못 .. 저와 같은 사람이되고 싶습니다. ... uhm @ item @@ = 메인 | 부제 || = subitem 나는 이것을 어떻게 설명 할 지 잘 모릅니다. 그럼에도 불구하고 실제로 알고 싶습니다. – user1547355

+0

* 잊어 버렸습니다 : 저는 C# 프로그램을 main - subitem - subitem과 같은 순서로 읽는 방법을 모르겠습니다. 내가 생각하기에 가장 좋은 서브 그룹은 – user1547355

+0

이 요구 사항에 대해 실제로 생각할 수있는 이유입니다. 새로운 유형의 구분 기호를 도입하는 이유는 무엇입니까? 및 "||" ? 케이스의 한 줄에 모든 정보가 들어 있기 때문에 '|'로 나누면됩니다. 그 배열의 첫 번째 항목을 기본 항목으로, 두 개의 하위 항목을 하위 항목으로 가져 가야합니다. 그 차이 유형의 구분 기호를 소개하는 요점은 무엇입니까? – Artak