我在Xpages应用程序中创建了一个增强的Dojo数据网格。不,我想添加一个可编辑的列。关于是否可以使用viewJsonService执行此操作或者必须使用viewItemFileService,我会收到相互矛盾的信息。我无法通过任何一种方式工作。宁愿使用Json,因为我在这段代码中需要做的所有工作都在Json中工作,但我甚至无法使用FileService获得任何数据。我知道要让Json工作,你需要设置一个站点文档并允许“GET”。
我的viewJsonService代码如下:
<xp:panel style="width:885.0px;height:300px">
<xe:restService pathInfo="gridData" id="restService1"
jsId="restServiceID">
<xe:this.service>
<xe:viewJsonService viewName="(dbAllRspPCTasks)"
var="rstEntry" systemColumns="4">
<xe:this.columns>
<xe:restViewColumn name="ID">
<xe:this.value><![CDATA[#{javascript:return rstEntry.getColumnValue("ID")}]]></xe:this.value>
</xe:restViewColumn>
<xe:restViewColumn name="status">
<xe:this.value><![CDATA[#{javascript:return rstEntry.getColumnValue("status")}]]></xe:this.value>
</xe:restViewColumn>
<xe:restViewColumn name="category">
<xe:this.value><![CDATA[#{javascript:return rstEntry.getColumnValue("category")}]]></xe:this.value>
</xe:restViewColumn>
<xe:restViewColumn name="title">
<xe:this.value><![CDATA[#{javascript:return rstEntry.getColumnValue("title")}]]></xe:this.value>
</xe:restViewColumn>
<xe:restViewColumn name="notes">
<xe:this.value><![CDATA[#{javascript:return rstEntry.getColumnValue("notes")}]]></xe:this.value>
</xe:restViewColumn>
</xe:this.columns>
<xe:this.keys><![CDATA[#{javascript:return viewScope.get("ID");
}]]></xe:this.keys>
</xe:viewJsonService>
</xe:this.service>
</xe:restService>
<xp:button value="Save" id="button4" style="font-weight:bold;font-size:10pt">
<xp:eventHandler event="onclick" submit="true" refreshMode="norefresh">
<xp:this.script><![CDATA[restServiceID.save();]]></xp:this.script>
</xp:eventHandler>
</xp:button>
<xe:djxDataGrid id="djxDataGrid1"
storeComponentId="restService1" initialWidth="100%"
rowSelector="25px" rowsPerPage="100"
dojoType="dojox.grid.EnhancedGrid" autoHeight="10">
<xe:djxDataGridColumn id="djxDataGridColumn1"
field="category" label="Category">
</xe:djxDataGridColumn>
<xe:this.dojoAttributes>
<xp:dojoAttribute name="autoWidth"
value="true">
</xp:dojoAttribute>
<xp:dojoAttribute name="canSort"
value="false">
</xp:dojoAttribute>
</xe:this.dojoAttributes>
<xe:this.errorMessage><![CDATA["Sorry...error loading tasks"]]></xe:this.errorMessage>
<xe:djxDataGridColumn id="djxDataGridColumn2"
field="status" formatter="displayIcon" width="25px" label="Sts">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn3"
label="Task" field="title" width="300px">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn4"
label="Notes..." field="notes" width="auto" editable="true">
</xe:djxDataGridColumn>
<xp:eventHandler event="onFocus" submit="false">
<xe:this.script><![CDATA[dijit.byId('#{id:djxDataGrid1}').canSort = function(col){
return false;
};]]></xe:this.script>
</xp:eventHandler>
</xe:djxDataGrid>
</xp:panel>
Per,OK在测试服务器上我创建了一个Web站点文档,并在允许的方法中检查了PUT并重新启动了服务器。
当我检查时
HTTP:/// API /数据
我得到了
{ “代码”:403, “文”:“紫禁城” }
我不知道为什么。我应该寻找哪些东西来确保我能够启用放置?
布赖恩