程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> combo box-easyui dategrid 顯示的值和編輯的值類型不同怎麼辦?

combo box-easyui dategrid 顯示的值和編輯的值類型不同怎麼辦?

編輯:編程綜合問答
easyui dategrid 顯示的值和編輯的值類型不同怎麼辦?
//---民族
         {
             field: 'NMK07', title: '民族', width: 100, sortable: true,
             editor: {type: 'combobox', options: {
                 required: true,
                 //formatter: unitformatter,
                 url: '/handler/dict.ashx?flag=tree&t=Nation', parentField: 'pid',
                 textFiled: 'text',
                 valueField: 'id',
                 method: 'get',
                 lines: true,
                 editable: false,
                 panelHeight: 130,
                 panelMaxWidth: 200
             }
             }
         },
         //----------------

                    url獲取到的是json格式,內容如下:
                    [{"id":0,"pid":-1,"text":"請選擇"},{"id":3,"pid":-1,"text":"123"},{"id":2,"pid":-1,"text":"民族1"}]

情況說明:

數據庫中NMK07字段為int字段,用於存儲對應民族表的ID,這樣就導致在dategrid的時候顯示NMK07直接顯示的是ID值,而不是對應民族的名稱
如果後台生成json時就獲取成名族名稱的話,在編輯列數據時,combobox裡又無法獲取得到民族的ID
請問,這樣的情況如何處理?
datagrid默認顯示時需要民族的名稱,編輯時又需要的是民族的ID,同一個列的情況下,該怎麼辦呢?

最佳回答:


你用一個script標簽加載/handler/dict.ashx?flag=tree&t=Nation這個頁面在頁面上生成名族的json數組對象,然後你的editor不需要指定url了,直接使用data配置指向這個數據即可,可以大大提高效率,不需要每次用ajax加載

如你ashx原來輸出[{}...]這個格式的數據,變成var arrMZ=[{}....]這種,然後用script加載你的這個動態頁

 <script src="/handler/dict.ashx?flag=tree&t=Nation"></script>

,這樣arrMZ就是存儲你名族的json對象數組了

  editor: {type: 'combobox', options: {
                 required: true,
                 //formatter: unitformatter,
                 //url: '/handler/dict.ashx?flag=tree&t=Nation', parentField: 'pid',
                                data:arrMZ//////這樣配置本地數據就可以了

然後給datagrid配置formatter,遍歷arrMZ對比傳入的value返回對應的顯示值

   {
             field: 'NMK07', title: '民族', width: 100, sortable: true,
                        formatter:function(v){
                        for(var i=0;i<arrMZ.length;i++){
                           if(arrMZ[i]['id']==v)return arrMZ[i]['text']
                        }
                        }
snaif_lx
snaif_lx
showbo
showbo
snaif_lx
snaif_lx
snaif_lx
showbo
snaif_lx
snaif_lx
snaif_lx
snaif_lx
snaif_lx
snaif_lx
snaif_lx
showbo
showbo
snaif_lx
snaif_lx
showbo
snaif_lx
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved