2011-02-11 15 views
0

我想創建一個簡單的c#桌面應用程序,它將用戶輸入的記錄存儲/檢索到文本文件中。假設每個記錄都有三個字段,分別是組名,記錄標題和記錄信息。所以基本上文本文件有多個記錄,每個記錄與下面的一個組有關。C#桌面應用程序(數據綁定)

Group A 

Header title 1A message 1A 
Header title 2A message 2A 
Header title 3A message 3A 
.......   ....... 
.......   ....... 
.......   ....... 
Group B 

Header title 1B message 1B 
Header title 2B message 2B 
Header title 3B message 3B 
.......   ....... 
.......   ....... 
.......   ....... 
Group C 

Header title 1C message 1C 
Header title 2C message 2C 
Header title 3C message 3C 
.......   ....... 
.......   ....... 
.......   ....... 

Group D 

.......   ....... 
.......   ....... 

的desktopm窗口將具有3列,第1列應列出所有組,第二列將列出在一個選擇的組(從第1列)中的所有記錄和第三列中顯示詳細的單個記錄其在選擇第二列。請提供關於如何實施的建議?任何樣本和教程都非常適合。

+0

爲什麼要使用文本文件來存儲數據?爲什麼不使用基於文件的數據庫會使事情變得更容易。如果我是你,我會使用SQLite甚至是SQL CE – Kassem 2011-02-11 22:50:15

回答

0

你需要三個基本組成部分:

  1. 爲您的數據模型。這可能包括Group類和Record類,其中Group包括類似GetRecords()方法或Records屬性(返回IList<Record>,用於數據綁定)。
  2. 解析器將讀取文件的行並構建這些對象的集合 - 可能是Dictionary<string, Group>或您自己的GroupCollection實現的形式。
  3. 一個圖形用戶界面(Duh),帶有兩個ListBox和一個個人自定義顯示控件Record

對於第一個列表框,你大概會設置DataSource屬性爲您Group對象的集合(這將需要實現IList如果我沒有記錯的話)。

處理的SelectedIndexChanged事件的第一列表框,並設置DataSource在第二列表框,以從所選擇的GroupGetRecords()/Records結果。

處理的SelectedIndexChanged事件您ListBox併爲您的自定義控制所選擇的記錄顯示詳細信息。

無論如何,這就是我的方法。

1

您最好使用XML。

C#有非常好的XML serialization這將讓你的XML到C#對象,反之亦然轉換(無需做任何手動解析)

而且,這個問題有點過於籠統。您最好嘗試自己填充應用程序,然後再回到特定問題。