无法在Xpages Dojo Data Grid中保存已编辑的行

时间:2015-04-16 21:08:16

标签: xpages xpages-extlib dojox.grid.datagrid

我在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,     “文”:“紫禁城” }

我不知道为什么。我应该寻找哪些东西来确保我能够启用放置?

布赖恩

0 个答案:

没有答案