Struts2 jquery Сетка, выберите столбец, не отображающий данные - PullRequest
0 голосов
/ 30 апреля 2020

Я работаю над старым проектом, используя Struts- jquery -grid-tags. Мне пришлось обновить версию Struts до 2.5.22 и плагин Struts- jquery с 4.0.1 до 4.0.3. И, похоже, это все испортило.

В большинстве случаев моя работа заключалась в том, чтобы получать элементы с помощью селектора jquery. Я переписывал их с самого начала, я знаю, что это не лучшая практика, но у меня было очень мало времени.

Это существо говорит, что сейчас я столкнулся с чем-то более сложным, и я постараюсь сделать его коротким:

  • есть сетка sjg: с шестью столбцами и типом данных json;
  • последние 2 столбца доступны для редактирования и имеют атрибут editoptions (я опубликую его ниже);
  • эти два последних столбца отображаются только как пустые столбцы с правильным заголовком, но без данных;

Если столбцы есть и они показывают правильный заголовок, моя ставка в том, что атрибут editoptions каким-то образом испортит все это.

У меня нет опыта работы со стойками, и, насколько я знаю, это старая платформа с некоторыми проблемами в последних версиях.

Вы не увидите заголовка strus- jquery в приведенном ниже коде, но он включен в jsp, который включает jsp, о котором я сейчас говорю. Это работает, и доказательством является то, что иначе я не увижу таблицу.

Есть идеи?

вот код:

 <%@ taglib prefix="s" uri="/struts-tags"%>
 <%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
 <%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags"%>
 <%@ taglib prefix="sec"
   uri="http://www.springframework.org/security/tags"%>

<s:url var="remoteurl" action="surveyGrid" />
<s:url var="editurl" action="dataentry_edit" />
<s:url var="remoteOptions" action="dataentry_remoteOptions" />

<div id="messageSuccess" class="messageSuccessGrid"></div>
<sjg:grid formIds="gruvisInspectionForm" 
   viewrecords="true"
   id="gridtable" dataType="json" href="%{remoteurl}" 
   gridModel="gridModel" rowList="10,15,20" rowNum="50" rownumbers="false"
   resizable="false" editinline="true" editurl="%{editurl}" onSelectRowTopics="rowselect"
   reloadTopics="reloadSurveyGrid" onCompleteTopics="reloadSurveyGrid" autowidth="true">

   <sjg:gridColumn name="categoryQuestionId" index="categoryQuestionId" title="categoryQuestionId" 
hidden="true" key="true" editable="true"/>

   <sjg:gridColumn name="categoryId" index="categoryId" title="categoryId" hidden="true"
        editable="true"/>

<sjg:gridColumn name="questdisplayorder" index="questdisplayorder"
    title="%{getText('dataentry.no')}"  sortable="false"
    editable="false" width="15" align="center" />

<sjg:gridColumn name="question" index="question" title="%{getText('dataentry.question')}"
     sortable="false" editable="false" resizable="false" />


<sjg:gridColumn name="questionscore" index="questionscore"
    title="%{getText('dataentry.score')}" align="center"  editable="true"
    edittype="select" editoptions="{
                                    value: { NA:'NA', 0:'0', 1:'1', 2:'2', 3:'3', 4:'4'},
                                    dataEvents: [{
                                                    type: 'blur',
                                                    fn: function() {
                                                        var sr = jQuery('#gridtable').jqGrid('getGridParam','selrow');
                                                        actionEdit(sr);
                                                    }
                                                }]
                                    }"
    width="15" />

<sjg:gridColumn name="questioncomments" index="questioncomments"
    title="%{getText('dataentry.comments')}" align="center" sortable="false"
    editable="true" edittype="text"
    editoptions="{
        maxlength: 1024,
        dataEvents: [{
                        type: 'blur',
                        fn: function(e) {
                            var sr = jQuery('#gridtable').jqGrid('getGridParam','selrow');
                            actionEdit(sr);
                        }
                    }]
    }" />



</sjg:grid>
<br />

спасибо !!!

...