комбинированный список jqGrid в окне добавления / редактирования - PullRequest
0 голосов
/ 05 мая 2011

Я использую jqGrid. Для добавления всплывающего окна для combobox я использую данные по умолчанию из базы данных, которая работает нормально. Но когда отображается всплывающее окно редактирования, на нем не отображается выбранное значение в выпадающем списке, а отображается 1-е значение в указанном списке.

Вот мой код:

$("#list").jqGrid({
    url:'<%=request.getContextPath()%>/getDetail.jsp',
    datatype: 'xml',
    mtype: 'GET',
    colNames:['DataChannel ID','Description','Date Creation(MM/dd/yyyy)','Date Closure(MM/dd/yyyy)','Frequency','Source Type','Source Data Type','Primary Data Source','Secondary Data Source','Data Available From(MM/dd/yyyy)','Lag','Advance Alert','Confidentiality Type','Data Flow Type','PSM Name','Comment','Data Available Upto(MM/dd/yyyy)'],
    colModel :[ 
      {name:'DESCRIPTION', index:'DESCRIPTION',editable:true,editrules:{required:true}, width:120}, 
      {name:'DATE_CREATION', index:'DATE_CREATION', editable:true,editrules:{required:true}, width:80}, 
      {name:'DATE_CLOSURE', index:'DATE_CLOSURE', editable:true,width:80}, 
      {name:'PRIMARY_SOURCE_ID', index:'PRIMARY_SOURCE_ID',editable:true,edittype:"select",     
          edittype:"select",editoptions:   
      {dataInit:function(elem){alert(elem);},value:"<%ctr=0;count=sourceList.size();for (itr=sourceList.iterator(); itr.hasNext(); ) {ctr++;sourceMap=(HashMap)itr.next();it = sourceMap.entrySet().iterator();while (it.hasNext()) {pairs = (Map.Entry)it.next();%><%=pairs.getKey()%>:<%=pairs.getValue()%><% if(ctr < count){%>;<%}}}%>"}, width:120},
      {name:'DATA_AVAILABLE_UPTO', index:'DATA_AVAILABLE_UPTO',editable:false,width:100}],
    pager: $('#pager'),
    rowNum:10,
    rowList:[10,20,30],
    sortname: 'user',
    sortorder: "desc",
    viewrecords: true,
    multiselect:false,
    imgpath: '<%=request.getContextPath()%>/themes/steel/images',
    caption: 'Data Channel Master Data',
    editurl: '<%=request.getContextPath()%>/ChannelUpdate.jsp',
    width:1700
}).navGrid('#pager',{add:true,addtext:'Add',edit:true,edittext:'Edit',del:true,deltext:'Del', search:true,searchtext:'Find',refresh:true}, //options
                    {height:300,width:500,reloadAfterSubmit:true}, // edit options
                    {height:300,width:500,reloadAfterSubmit:true}, // add options
                    {reloadAfterSubmit:true}, // del options
                    {} // search options
);
});

Если я использую dataUrl вместо значения в опциях редактирования столбца 'PRIMARY_SOURCE_ID', то firebug выдает ошибку

options.value is undefined
[Break On This Error] var so = options.value.split(";"),sv, ov;

Пожалуйста, помогите ... Как получить выбранное значение в выпадающем списке для окна редактирования.

Спасибо заранее, Сандип Вемула

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

Просто необходимо добавить параметр formatter:"select" в столбец, в котором я хочу отобразить комбинированный список с выбранным значением в форме редактирования.

0 голосов
/ 05 мая 2011

Я бы рекомендовал использовать dataUrl вместо value в editoptions и дополнительно использовать buildSelect (см. здесь ), что позволяет упростить интерфейс соответствующее действие, которое предоставляет данные для dataUrl. Если вы используете dataUrl, вы должны удалить value определение из editoptions .

Если у вас по-прежнему будут возникать проблемы, вы можете опубликовать текущий код, который вы используете и который следует за ошибкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...