2010-01-10 61 views
1

我有一個僱員類(Id,名稱,年齡)與幾個對象。我使用ListView控件顯示「員工視圖」表單中的所有記錄,並允許用戶添加/編輯/刪除這些記錄。並有單獨的表單來添加新記錄或編輯現有的記錄。 (沒有數據庫交互,只是有一個列表來堅持這些變化)允許自定義(添加/刪除)ListView列和添加/編輯記錄(WinForm)

現在,我想支持此設置(員工視圖=>添加/編輯員工)與自定義數量的列(默認情況下,顯示列根據我的Employee對象中的字段)。因此,如果用戶想要發送更多信息(比如DoB),那麼他應該能夠在ListView中添加該列,添加/編輯員工表單應該爲每個列顯示一個適當的控件(例如DoB的DateTimePicker),以便添加/編輯所需的記錄。

在此先感謝。

回答

0

從內存中標準的WinForms ListView控件不提供內置的數據綁定。我建議你最好在綁定模式下使用DataGridView。這將爲您提供數據源中的字段自動顯示爲DataGridView中的列的功能。

DataGridView還提供內置的行編輯。這種編輯在DataGridView本身是「就地」的,所以這可能不適用於某些類型的應用程序。但是,您可以禁用就地編輯(使用ReadOnly和AllowUserToAddRows屬性),並在需要時繼續顯示單獨的添加/編輯表單。

在您的添加/編輯表單中,常見的做法是根據數據源中的字段數動態添加控件。這涉及到在代碼中創建控件,設置位置和格式屬性,然後將它們傳遞給Form.Controls.Add()。然後您可以手動填充這些字段,也可以使用Simple Data Binding

相關問題