簡體   English   中英

如何在不更改行的情況下查看DataGridView更改

[英]How to see DataGridView changes without changing row

我有一個帶有一些DataGridViewComboBoxColumn的DataGridView。 列的DataSource設置為顯示某些值可供選擇,但DataGridView本身沒有將DataSource設置為任何值。 我手動加載/保存它的值。

問題:當我更改其中一個組合框值時,我沒有看到更改,直到我移動到另一行。

更多背景信息:應用程序的主要目的是將數據從一個表移動到另一個表。 在一列中選擇表的源字段,在下一列中選擇另一個表中的目標字段。 該應用程序的一個功能是,當您單擊行標題單元格時,它將顯示您在該行中選擇的源字段中的不同值列表。 但是,在更新源字段時,通過單擊行標題單元格直到我先將行保留為止后才能獲得正確的結果。

問題:什么是讓我的更改立即生效而不必先排除行的最簡單方法? 我為一個復選框列實現了一些功能,但我提出的解決方案不適用於組合框列。 我想要一些適合一切的東西。

謝謝!

編輯:如果你有興趣閱讀這篇文章並自己思考“這是一個糟糕的問題”,你介意讓我知道為什么嗎? 我真的不介意你是否投票...我只想了解問題是否與這個“糟糕的問題”有關,或者你認為我要求做一些你相信的事情不聰明,是一個不好的做法。

我推斷你希望值一旦被選中就提交,所以這可能有助於實現這一目標。 訂閱CurrentCellDirtyStateChanged並查看它是否符合您的意圖。

void dataGridView1_CurrentCellDirtyStateChanged(object sender,
    EventArgs e)
{
    if (dataGridView1.IsCurrentCellDirty)
    {
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}

嘗試使用以下功能:

dataGridView.RefreshEdit();

您在搜索CellValidated活動嗎? 您可以在此事件中手動保存數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM