在DataGridView ComboBox中選擇一個值並單擊bindingNavigator中的保存按鈕後,數據在數據庫中不會更新。用戶必須失去焦點才能更新數據。有沒有辦法解決這個問題?DataGridView ComboBox在焦點時不保存
0
A
回答
1
奇怪。我最近做了這件事,它像一個魅力。在我的應用程序中,當gridview處於編輯模式(Readonly false)時,並且當您選擇單元格時,它將變爲組合框,並且當您離開單元格時它將表現爲文本框。這是我做的
void dgUpdateItems_CellEnter(object sender, DataGridViewCellEventArgs e)
{
DataGridView dg = (DataGridView)sender;
if (e.ColumnIndex == dg.Columns["ItemCategory"].Index)
{
if (e.ColumnIndex == e.RowIndex)
{
dg[e.ColumnIndex, e.RowIndex].ReadOnly = true;
return;
}
DataGridViewComboBoxCell cmbCell = new DataGridViewComboBoxCell();
ComboUpdate(cmbCell);
cmbCell.Value = ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value.ToString();
((DataGridView)sender)[e.ColumnIndex, e.RowIndex] = cmbCell;
}
}
void dgUpdateItems_CellLeave(object sender, DataGridViewCellEventArgs e)
{
DataGridView dg = (DataGridView)sender;
if (e.ColumnIndex == dg.Columns["ItemCategory"].Index)
{
if (e.ColumnIndex == e.RowIndex)
return;
string str = dg[e.ColumnIndex, e.RowIndex].Value.ToString();
DataGridViewComboBoxCell cmb = (DataGridViewComboBoxCell)dg[e.ColumnIndex, e.RowIndex];
string val = cmb.Value.ToString();
dg[e.ColumnIndex, e.RowIndex] = new DataGridViewTextBoxCell();
dg[e.ColumnIndex, e.RowIndex].Value = val;
這是我的代碼的一部分,如果不理解,讓我知道。 這是一個鏈接檢查出來。它可能有幫助。 ComboBox in DatagridView in Edit Mode
對不起,忘了告訴你最重要的事情,它甚至在它專注的時候也能奏效。 如果你正在尋找別的東西,請在我的頭上扔一塊石頭。 希望它有幫助。
0
嘗試保存這樣的前調用UpdateSource
:
ComboBox c = Keyboard.FocusedElement as ComboBox;
if ((c != null) && (c.GetBindingExpression(ComboBox.TextProperty) != null))
c.GetBindingExpression(ComboBox.TextProperty).UpdateSource();
HTH
相關問題
- 1. Combobox焦點,殺死組合框焦點
- 2. datagridview combobox
- 3. 保存焦點狀態
- 4. Textmate2保存在失去焦點
- 5. C#/ Winforms,DataGridView/Combobox
- 6. vb.net/DataGridView/ComboBox列?
- 7. DataGridView和Combobox列?
- 8. ComboBox和Datagridview VB.Net
- 9. Vb.net/DataGridView/ComboBox列
- 10. DataGridView&ComboBox事件?
- 11. DataGridView - ComboBox @ runtime
- 12. DataGridView沒有焦點時,首次點擊時DataGridViewComboBoxCell控件下拉
- 13. DataGridView autoComplete comboBox列在初始單元格離開時不保留值
- 14. combobox項目不顯示在datagridview中
- 15. 如何在slickgrid失去焦點時進行單元格保存
- 16. 如何讓Vim在失去焦點時自動保存文件?
- 17. Form僅在輸入丟失焦點時保存
- 18. datagridview中的combobox列
- 19. Datagridview combobox列的值
- 20. DataGridView和ComboBox問題
- 21. 如何在活動不在焦點時保持線程監聽?
- 22. 焦點錯誤地由獅子保存
- 23. 保留NSTextField焦點
- 24. Combobox是可編輯的lostFocus調用時獲得焦點
- 25. 從datagridview保存值
- 26. 未保存datagridview值
- 27. 保存datagridview到mysql
- 28. 保存的datagridview到CSV不使用下面的代碼我的DataGridView表保存到一個文本文件中更改焦點
- 29. Winforms防止DataGridView失去焦點
- 30. 將焦點設置到DataGridView行
通常當你點擊按鈕它會得到重點,我認爲還有別的東西你能告訴你如何做到這一點? – V4Vendetta