Kendo UI网格破坏和更新命令不会触发事件onclick

时间:2013-02-09 23:04:02

标签: jsp kendo-ui

我有这个Kendo UI网格。它读取并填充网格。但我面临的问题是更新或删除按钮都不会发送POST请求。

保存按钮不执行任何操作。删除按钮为我提供了一个确认警告框,然后它在网格中将其删除,但没有请求。

         

<kendo:grid name="grid" pageable="true" groupable="false" editable="true" sortable="true" filterable="true" height="300" >
    <kendo:grid-columns>
        <kendo:grid-column title="Account" field="name"/>
        <kendo:grid-column width="250">
            <kendo:grid-column-command>
                <kendo:grid-column-commandItem name="showAccount" text="Visa konto" click="showAccount"/>
                <kendo:grid-column-commandItem name="ShowAccountSummary" text="Sammanställning" click="showAccountSummary"/>
            </kendo:grid-column-command>
        </kendo:grid-column>
        <kendo:grid-column title="&nbsp;" >
            <kendo:grid-column-command>
                <kendo:grid-column-commandItem name="save" />
                <kendo:grid-column-commandItem name="destroy" />
            </kendo:grid-column-command>
        </kendo:grid-column>
    </kendo:grid-columns>
    <kendo:dataSource pageSize="10" batch="false">
        <kendo:dataSource-schema>
            <kendo:dataSource-schema-model id="id">
                <kendo:dataSource-schema-model-fields>
                    <kendo:dataSource-schema-model-field name="id" type="number"/>
                    <kendo:dataSource-schema-model-field name="user_id" type="number"/>
                    <kendo:dataSource-schema-model-field name="name" type="string"/>
                </kendo:dataSource-schema-model-fields>
            </kendo:dataSource-schema-model>
        </kendo:dataSource-schema>
        <kendo:dataSource-transport>
            <kendo:dataSource-transport-read url="${transportReadUrl}" dataType="json" type="GET" contentType="application/json" />
            <kendo:dataSource-transport-update url="${updateAccountUrl}" dataType="json" type="POST" contentType="application/json" />
            <kendo:dataSource-transport-destroy url="${destroyUrl}" dataType="json" type="POST" contentType="application/json" />
        </kendo:dataSource-transport>
    </kendo:dataSource>
</kendo:grid>

3 个答案:

答案 0 :(得分:5)

我解决了这个问题。数据源需要具有属性“autoSync ='true'”

来自剑道手册

  

autoSync布尔值(默认值:false)

     

启用(true)或禁用(false)自动调用   每个更改的sync()方法

答案 1 :(得分:2)

类似的情况但我禁用了自动同步,因为我的网格数据源在页面加载后被读取。实现javascript以在更改时同步或在autosync = false时删除。

function gridChange(e) {
    if (e.action == "itemchange") {
        e.sender.sync();
    };
    if (e.action == "remove") {
        e.sender.sync();
    }
}

答案 2 :(得分:0)

所以我假设你的crUD Urls没有被击中。这两个操作背后有一个方法签名,与Kendo想要的不一样。这就是我在这里发布的所有内容。希望能帮助到你。当你开始工作时,不要忘记在你的更新中将数据返回到网格,否则你会得到有趣的行为。