グリッドデータソースで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=" " >
<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で別のカテゴリを選択した場合、グリッドデータは更新されますか、それとも強制する必要がありますか?