2011-08-08 135 views
0

我正在編寫一個用作Excel風格字典的程序。基本上,它允許用戶添加行,編輯行,搜索它們,等等。我用它來存儲和學習外語詞彙。 我已經獲得了一個我很滿意的版本。它使用BindingList作爲DataGridView的數據源,以便跟蹤更改並將它們記錄回BindingList,我用它來存儲所有詞彙表,而列表本身由一個名爲「Term」的自定義類組成具有「英文單詞」,「西班牙文單詞」,「實例」等的屬性。它不會做的是讓用戶自定義字段,這就是我的問題出現的地方。即使我正在學習西班牙語或法語,Term類將使用它幾乎是「硬編碼」的來自日語的「漢字」屬性。如何在C#中將列表的BindingList數據綁定到DataGridView?

我希望能夠讓用戶輸入他們希望字典顯示和跟蹤的字段 - 基本上,他們應該能夠重命名並添加/刪除DataGridView中的列。我的第一個想法是實現這個作爲一個列表,其中存儲的字段的名稱(和相應的數量,通過使用列表的長度)。然後,我將擁有一個具有List屬性的Word類,並且列表中的每個字符串都表示其中一個字段。然後我創建了這個Word類的BindingList,這留下了一個List的BindingList。

當我嘗試將我的列表數據綁定到我的DataGridView時,網格出現空 - 它顯然不知道我想如何顯示數據,我很難找出如何告訴它。我甚至不確定我的列表清單是實現可定製字段的好方法,但這是我能想到的最好的方法。無論如何,任何人都可以推薦一種方法來解決這個問題,它可以讓我將這些字段添加到表格中,還可以跟蹤更改並將其粘貼回原始源代碼?我需要將網格用作編輯工具,以便用戶不僅可以添加新元素,還可以更改現有元素。 這是一個個人項目,但它讓我有點瘋狂。我昨天晚上5點試圖找出結果,空手而歸。非常感謝您的閱讀!

回答

0

我已閱讀你的文章幾次。我不確定我完全理解。如果我不這樣做,請提供一些細節,我會盡力提供幫助。如果我不得不做一個像Excel的DataGridView,我想我會使用一個數組。我將創建一個數組,例如256乘256,並將其作爲DataSource。然後,在用戶編輯完畢後,您會讀取整個DataGrid並重寫,如果它與原始數組不同。

相關問題