extjs--combox動態賦值
阿新 • • 發佈:2019-01-02
if (typeof (InitData) == 'undefined' || InitData == null) { InitData = {}; } InitData.Terminal = { terminalNos: [{id:'', name:'全部'}] //下拉框終端號 } // 從後臺取值 InitData.init = function () { // 初始資料的取得 Com.Ajax.createAjaxRequest({ url: 'Data/GetTerminalData', succFn: function (obj) { for (var i = 0, max = obj.data.items.length; i < max; i++) { var ter = obj.data.items[i]; InitData.Terminal.terminalNos.push({ id: ter.id, name: ter.name }); } } }); } // 資料來源 var t_store = Ext.create('Ext.data.Store', { fields: ['id', 'name'], data: InitData.Terminal.terminalNos, proxy: { type: 'memory', reader: { type: 'json', root: 'items' } } }); var tercombo = Ext.create('Ext.form.ComboBox', {// 條件:終端編號 fieldLabel: '終端編號', id: id_combo_terminal, name: 'slipInfo.Terminal', labelWidth: 80, width: 278, value: '', // 設定預設選中值 store: t_store, editable: false, // 設定為只可選擇,不可編輯 queryMode: 'local', // 本地資料時使用'local' //triggerAction: 'all', valueField: 'id', displayField: 'name' });
c# 後臺
List<Hashtable> list = new List<Hashtable>(); Hashtable rtnVal = new Hashtable(); List<string> terlist = Common.TerminalNo.TERMINAL_LIST; if(terlist != null) { for(int i=0; i<terlist.Count(); i++) { Hashtable ht = new Hashtable(); ht["id"] = terlist[i]; ht["name"] = terlist[i]; list.Add(ht); } } rtnVal["totalcount"] = terlist.Count(); rtnVal["items"] = list; return CreateJsonResult(true, data: rtnVal);