0

グリッドデータソースでURLからデータを取得し、transport-destroyとtransport-updateを使用しようとしています。

var dataSourceKGrid = new kendo.data.DataSource({
    transport: {
        read: {
            url: "/editinline/read",
            data: {
                productCat: $("#productCBox").value()
            }
        },
        destroy: {
            url: "/editinline/destroy"
        },
        update: {
            url: "/editinline/update"
        },
        schema: {
            id: "productDS",
            model: {
                fields: {
                    id: {editable: false},
                    name: {type: "string"}
                }
            }
        }
    }
});

グリッド:

<kendo:grid name="kGridProduct" pageable="true" sortable="true" scrollable="true" navigatable="true" height="300">
    <kendo:grid-editable mode="inline"/>
    <kendo:grid-columns>
        <kendo:grid-column title="Name" field="name" />
        <kendo:grid-column title="Id" field="id" />
        <kendo:grid-column title="&nbsp;" >
            <kendo:grid-column-command>
                <kendo:grid-column-commandItem name="edit" />
                <kendo:grid-column-commandItem name="destroy" />
            </kendo:grid-column-command>
        </kendo:grid-column>
    </kendo:grid-columns>
    <kendo:dataSource data="dataSourceKGrid" pageSize="5">            
    </kendo:dataSource>
</kendo:grid>

リクエストを処理するコントローラークラスがあります。

@RequestMapping(value = "/edit-inline/read", method = RequestMethod.GET)
    public @ResponseBody List<product> read(HttpServletRequest request) {
        return prodDAO.list(Integer.parseInt(request.getParameter("productCat")));
    }

問題は、グリッドが正確に15レコードで空に表示され、両方のボタンが機能しないことです。にハードコードされた値を使用できますproductCatが、それでも空の15レコードが表示されます。また、私が書いた方法に疑問があります。ユーザーがComboBoxで別のカテゴリを選択した場合、グリッドデータは更新されますか、それとも強制する必要がありますか?

4

0 に答える 0