我在Delphi應用程序中使用SMDBGrid來顯示和編輯數據,作爲MySQL查詢的結果。如何突出顯示DBgrid(SMDBGrid)中單擊的單元格中的數據?
我想了解如何使網格在編輯數據時以我想要的方式運行。
單元格中的數據最初以白色背景上的黑色字體顯示。
如果我留在一個單元格方含數據點擊一次,細胞變爲 白色字體在白色背景上(或者數據剛剛消失) ,我無法看到的數據進行編輯。
如果我再次在同一個單元格中單擊,我會在 藍色背景上獲得一個白色字體。我可以看到數據並且可以編輯它。
如果我在同一個單元格中第三次點擊,我在 白色背景上獲得了黑色字體(就像其他單元格一樣)。我可以看到數據並且可以編輯它。
雙擊單元格一次表現得像(1),雙擊 此後始終表現得像(2)
問題
如何設置它,以便左鍵點擊一旦在一個單元格中讓我編輯該單元格而不改變顏色?即像上面(3)中的行爲一樣,繼續在該單元原本具有的任何背景顏色上顯示黑色字體。
其他信息,可能是相關
運行查詢來填充我把它進入編輯模式與
- Query1.edit 電網後
我有一個網格中的OnMouseDown事件檢測到右鍵單擊並顯示一個PopUpMenu,它提供選項並在記錄的其他字段中設置值。還有一個OnGetCellParams事件,它根據這些其他字段中的值設置單元格的背景顏色。爲了讓彈出菜單中能正常工作並沒有顯示(內置?)的編輯菜單時右點擊,通過試驗和錯誤我設置
- POPUPMENU = MyPopUpMenu
- dgEditing =真
- dgAlwaysShowEditor =真
- dgAlwaysShowSelection =假
,但我真的不知道我在做什麼在那裏。
無論如何,通過刪除OnMouseDown和OnGetCellParams事件並將PopUpMenu設置爲'''來移除所有這些似乎與單擊LEFT時出現的情況沒有什麼區別。數據仍然變白。