2009-11-02 56 views
1

我有一個典型的要求。卡住datagridview和組合框列

我有一個combobox列的datagridview(項目在設計時加載)。當用戶從組合框中選擇一個項目時,剩餘的行根據selectedItem在數據庫中更新,並且dgv被刷新。

問題是組合框將失去其當前選擇並進入未選狀態。 即使在刷新dgv後,我也想保留所選項目。

誰能幫我提前

感謝

+0

你能證實你沒有重新綁定每個PostBack的GridView嗎? – 2009-11-02 05:11:01

+0

是的,請詳細說明。你在用什麼語言? (因爲我認爲你在.Net上的dgv)。 而且,很可能您必須在代碼背後執行此操作。 – 2009-11-02 05:24:53

回答

1

你的意思是你使用的是未綁定comboboxcolumn?如果是這樣,刷新數據源時,該值不能自動保持。您需要在更新之前存儲選定的值,並在刷新後將其設置爲代碼。

如果您的列實際上是數據綁定,則所選值不會存儲在數據庫中,或者您有一些數據類型問題。

組合框是否允許用戶爲該字段選擇一個值或者是否將其用作在記錄上執行命令的方式?

你有任何可以發佈的代碼嗎?

0

在你的datagridview中有一個組合框。使用綁定源爲其分配值。 然後爲datagridviews「EditingControlShowing」事件編寫一個事件處理程序。 在那,刪除有處理程序,如果有任何組合框Selectedindexchanged事件。然後添加一個事件處理SelectedIndexChanged事件說「ComboBoxValueChanged」

在「ComboBoxValueChanged」

, DirectCast發件人System.Windows.Forms.DataGridViewComboBoxEditingControl和獲得它的設定值。 現在用它來計算你想要的任何值。

您可以WANA參照本 http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcomboboxeditingcontrol.aspx

1

Datagrid的組合框的值將保留的字符串值,但會自動刷新任何整數值。

以下是你需要做的:

- 當填充組合框的值,只是它的值轉換爲toString()。 - 同樣如果你正在設置一個默認選擇值,也可以使用字符串類型進行設置。

- 即使刷新後,您的組合框也會自動保留所選值。

:)