我在窗口中有一個網格。該網格有3個動作:編輯,刪除和禁用。我想知道是否可以使禁用動作(當前爲「禁用/啓用」)的文本取決於所選記錄的當前狀態。因此,假設用戶選擇一個當前狀態爲已啓用的記錄,那麼該操作的文本應爲「禁用」。但是,如果用戶選擇狀態爲「已禁用」的記錄,則操作的文本應爲「啓用」。使用Action時可以這樣做嗎?或者我需要使用按鈕而不是Action?使Ext.Action的文本屬性依賴於另一個字段的值
0
A
回答
0
我假設您的操作按鈕位於停靠在網格面板頂部的工具欄中。唯一棘手的是獲取對網格的引用(不對其進行硬編碼)。網格的「選擇」事件只給你一個使用的rowmodel的引用。
/* Set a action attribute on the Ext.Action so we can find it */
var action = new Ext.Action({
text: 'Do something',
handler: function(){
Ext.Msg.alert('Click', 'You did something.');
},
iconCls: 'do-something',
itemId: 'myAction',
action: 'myAction' // I don't like itemId's personally :)
});
/* In the Controller */
init: function() {
this.control({
'mygrid': {
select: this.onRecordSelect
}
});
},
onRecordSelect: function(rowModel, record) {
var grid = rowModel.views[0].ownerCt);
var action = grid.getDockedItems('toolbar[dock="top"]')[0].down('button[action="myAction"]');
var enabled = (record.get('CurrentStatus') == "Enabled");
action.setText(enabled ? 'Disable' : 'Enable');
action.setIconCls(enabled ? 'myDisableCls' : 'myEnableCls');
}
/* in SASS */
.myDisableCls{
background-image:url(#{$icon_path}/checkbox.png) !important;
}
.myEnableCls {
background-image:url(#{$icon_path}/checkbox_ticked.png) !important;
}
祝你好運!
0
我以另一種方式解決了這個問題。這是我的代碼:
grid.getSelectionModel().on({
selectionchange: function(sm, selections) {
if (selections.length > 0) {
Edit.enable();
Delete.enable();
if(selections[0].data.CurrentStatus == "Disabled"){
Disable.setText("Enable");
Disable.enable();
}else{
Disable.setText("Disable");
Disable.enable();
}
} else {
Edit.disable();
Delete.disable();
Disable.disable();
}
}
});
相關問題
- 1. 屬性依賴於另一個字段
- 2. 依賴屬性依賴於另一個
- 3. SqlServer約束字段值依賴於另一個字段值
- 4. 依賴於另一個字段值的報告字段的可見性
- 5. SOLR - 依賴於另一個字段的字段值更新某個字段值
- 6. 測試依賴於另一個屬性的驗證屬性
- 7. 綁定依賴屬性到另一個依賴屬性
- 8. 具有依賴於WPF中另一個屬性值的依賴屬性值是否正確?
- 9. 依賴於另一個字段的條件字段驗證
- 10. asp.net自定義控件屬性依賴於另一個屬性
- 11. 啓用表單字段依賴於另一個表單字段的值?
- 12. 不依賴於UserControl的依賴屬性
- 13. Sugarcrm多選字段依賴於另一個多選字段
- 14. 依賴於另一個屬性的Symfony驗證
- 15. JPA一個字段依賴於另一個字段中相同的表
- 16. 我如何使字段依賴於jsp中的另一個字段?
- 17. 依賴於變量的變量或字段時依賴項屬性的更新
- 18. 添加自定義屬性依賴於另一個一把umbraco
- 19. 如何驗證依賴於Symfony 2中另一個屬性的屬性
- 20. 當字段依賴於另一個字段時,通知屬性更改的最佳方式
- 21. 依賴於其他屬性的依賴屬性
- 22. 格式gridview文本的一個字段以及行依賴於值
- 23. 的Drupal 7:做一個字段的值依賴於其他字段值
- 24. 依賴於另外一個
- 25. asyncValidator依賴於其他字段的值
- 26. jQuery驗證多個選擇依賴於另一個字段
- 27. 如何使1個CSS值依賴於另一個值?
- 28. 如果一個屬性依賴於兩個屬性的組合,那麼這是一個函數依賴嗎?
- 29. 使用依賴屬性的成本
- 30. 從另一個依賴指定的依賴性明確Maven的
感謝您的詳細回覆。但是,代碼中的這段代碼的位置是:init:function(){this.control({'mygrid':{select:this.onRecordSelect}}); },我不確定控制器是什麼意思。我的代碼如下: – anitacynax
嗨,我在代碼上面放置註釋,第一部分進入你的視圖(網格)。你可以放入一個控制器,控制器使用一個'組件查詢'在運行時查找組件(網格),並響應組件查找的事件。現在,組件查詢使用xtype'mygrid'搜索一個組件,但你可以將任何東西最後一部分是你的樣式表中的CSS/SASS代碼片段,它顯示了動作按鈕中的複選框 –
我以另一種方式解決了這個問題。我的代碼如下: – anitacynax