2014-05-28 5 views
4

У меня есть следующий код, в котором я хочу отображать данные из службы DOS-данных в Dojo Data Grid. Вывод службы Rest отлично, но Datagrid siplay отображает названия столбцов и ничего больше. Вот мой код: Служба документов для документов

<xp:panel> 
     <xe:restService id="restService1" pathInfo="docAccReq1" 
      rendered="true" state="true"> 
      <xe:this.service> 
       <xe:documentJsonService 
        contentType="application/json" systemItems="63" var="docAcc" 
        documentUnid="80EFAE936EA978A480257CE4002DBC67"> 
        <xe:this.items> 
         <xe:restDocumentItem itemName="Name" 
          name="Name"> 
         </xe:restDocumentItem> 
         <xe:restDocumentItem 
          itemName="ACCESSREQUESTER" name="ACCESSREQUESTER"> 
         </xe:restDocumentItem> 
         <xe:restDocumentItem 
          itemName="ACCESSREQUESTEDDATE" name="ACCESSREQUESTEDDATE"> 
         </xe:restDocumentItem> 
        </xe:this.items> 
       </xe:documentJsonService> 
      </xe:this.service> 
     </xe:restService> 

     <xe:djxDataGrid id="djxDataGrid1" 
      storeComponentId="restService1" store="docStore"> 
      <xe:this.dojoAttributes> 
       <xp:dojoAttribute name="autoWidth" value="true"></xp:dojoAttribute> 
      </xe:this.dojoAttributes> 
      <xe:djxDataGridColumn id="djxDataGridColumn1" 
       field="Name"> 
      </xe:djxDataGridColumn> 
      <xe:djxDataGridColumn id="djxDataGridColumn2" 
       field="ACCESSREQUESTER"> 
      </xe:djxDataGridColumn> 
      <xe:djxDataGridColumn id="djxDataGridColumn3" 
       field="ACCESSREQUESTEDDATE"> 
      </xe:djxDataGridColumn> 
     </xe:djxDataGrid> 

     <xe:firebugLite id="firebugLite1"></xe:firebugLite> 
</xp:panel> 
<xp:panel> 
    <xc:ccDebugToolbar defaultCollapsed="true" 
     collapseTo="left"></xc:ccDebugToolbar> 
</xp:panel> 

+0

вот выход службы отдыха: {"@ unid": "80EFAE936EA978A480257CE4002DBC67", "@ noteid": "12C7A", "@ created": {"data": "2014-05-26T08: 19: 33Z " "тип": "DateTime"}, "@ модифицированный": { "данные": "2014-05-26T11: 13: 39Z", "тип": "DateTime"}, "@ авторов": [" CN = «Арун Агнихотри \/O = XYZ»], «Имя»: «Арун», «ACCESSREQUESTER»: «Арун Агнихотри», «ACCESSREQUESTEDDATE»: {«данные»: «2014-05-26T08: 19: 31Z», type ":" datetime "}} – Arun

+2

Не следует ли использовать« viewJsonService »вместо того, чтобы получать документы из представления, а не только из одного определенного документа? –

ответ

3

Остальная служба должна доставить данные массив. Это то, что xe:djxDataGrid ожидает, поскольку это элемент управления сеткой данных, который показывает данные в нескольких строках в таблице.

Общим способом является использование службы REST viewJsonService. Определите все столбцы, которые вы хотите видеть в сетке данных в представлении. Вы подключаете представление к службе REST с параметром «viewName» и с defaultColumns="true" вы убедитесь, что все столбцы доставлены.

Ваше определение REST сервис будет выглядеть следующим образом, то:

<xe:restService 
    id="restService1" 
    pathInfo="docAccReq1"> 
    <xe:this.service> 
     <xe:viewJsonService 
      viewName="AccessRequests" 
      defaultColumns="true" /> 
    </xe:this.service> 
</xe:restService> 

Остальная служба предоставляет данные в формате JSON как массив:

[ 
    { 
     "@entryid":"1-80EFAE936EA978A480257CE4002DBC67", 
     "@unid":"80EFAE936EA978A480257CE4002DBC67", 
     "@noteid":"12C7A", 
     "@position":"1", 
     "@read":true, 
     "@siblings":200, 
     "@form":"access", 
     "Name":"Arun", 
     "ACCESSREQUESTER":"Arun Agnihotri", 
     "ACCESSREQUESTEDDATE":"2014-05-26T08:19:31Z" 
    }, 
    { 
     ... 
    }, 
    ... 
] 

Значения "@position" и "@siblings" являются важно для Grid Dojo Data. Они сообщают, сколько позиций находится в поле зрения, и какая позиция является текущей вводом данных. Это позволяет показывать вертикальную полосу прокрутки в правом вертикальном положении.

Служба отдыха documentJsonService, которую вы использовали, предоставляет только один объект JSON (а не массив) и не предоставляет эту дополнительную информацию.

Смежные вопросы