簡體   English   中英

ExtJS 4-如何避免在列編輯器為組合框時網格列的值變為空?

[英]ExtJS 4 - How to avoid grid column value becoming null when column editor is combo-box?

我在網格中有一個列,其中編輯器為組合框。

加載網格后,所有列值都會正確顯示。

問題是,當用戶單擊列(組合框為編輯器)對其進行編輯時,該列的值將變為空,如所附的屏幕快照所示。

我知道該值將變為null,因為尚未加載combobox的存儲區。

由於組合框存儲中存在大量數據,我無法使用autoLoad true。 而且,即使我對帶有分頁的商店使用autoLoad:true,也只能保護第一頁中存在的值,而不是全部。

因此,當用作列編輯器的組合框存儲中不存在該值時,如何在網格列中維護該值?

有人可以指導嗎?

PS:我正在使用ExtJS Ver 4.0.2a

在此處輸入圖片說明

我已經能夠找到解決方案。

它與ExtJs的版本有關。 如果我們升級到4.0.7,然后對組合框使用forceSelection:false,那么一切將按預期進行。 也就是說,組合框接受其存儲中不存在的值,並且不會將當前值設置為null。

希望這可以幫助別人也尋找類似的東西。

我建議讓網格記錄同時包含該列值和顯示值。 如果組合存儲查找無法找到匹配值(因為尚未加載組合存儲),則恢復為顯示與網格記錄一起存儲的顯示值。

您可能還需要在網格更新上具有afteredit事件,即在為特定行編輯該列之后,網格記錄將顯示值。

暫無
暫無

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

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