嗨,我正在尝试做剑道网格,但它不工作,显示网格,但没有显示数据。我不知道怎么了。我不知道parametersMap是怎么工作的。请帮帮我。
控制器
public ActionResult GetGeo(int id)
{
var list = data.getGeoList(id);
return Json(new {list}, JsonRequestBehavior.AllowGet);
}
public ActionResult UpdateGeo(int id)
{
var success = data.UpdatetGeo(id);
return Json(new { Success = success }, JsonRequestBehavior.AllowGet);
}
public ActionResult DeleteGeo(int id)
{
var success = data.DeletetGeo(id);
return Json(new { Success = success }, JsonRequestBehavior.AllowGet);
}
public ActionResult CreateGeo(GeoContent model)
{
var success = data.CreateGeo(model);
return Json(new { Success = success }, JsonRequestBehavior.AllowGet);
}
这是剧本
<script>
$(document).ready(function () {
dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/Home/GetGeo/",
dataType: "json",
contentType: "application/json",
data: {id:5}
},
update: {
url: "/Home/UpdateGeo",
dataType: "json",
contentType: "application/json"
},
destroy: {
url: "/Home/DeleteGeo",
dataType: "json",
contentType: "application/json"
},
create: {
url: "/Home/CreateGeo",
dataType: "json",
contentType: "application/json"
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return { models: kendo.stringify(options.models) };
}
}
},
batch: true,
pageSize: 20,
schema: {
model: {
id: "GeoId",
fields: {
GeoId: { editable: false, nullable: true },
ContentId: { editable: false, nullable: true },
Latitude: { type: "number", validation: { required: true, min: 1 } },
Longitude: { type: "number", validation: { required: true, min: 1 } },
}
}
}
});
$("#grid4").kendoGrid({
dataSource: dataSource,
navigatable: true,
pageable: true,
height: 550,
toolbar: ["create", "save", "cancel"],
columns: [
{ field: "Latitude", title: "Latitude", width: 120 },
{ field: "Longitude", title: "Longitude", width: 120 },
{ command: "destroy", title: " ", width: 150 }],
editable: true
});
});
Json数据返回:http://localhost:53232/Home/GetGeo?id=5
{"list": [
{
"GeoId":1,
"ContentId":5,
"Latitude":4.716168,
"Longitude":-70.78373
},{
"GeoId":2,
"ContentId":5,
"Latitude":4.718171,
"Longitude":-70.76253
}
]}
由于您的数据实际上嵌套在list
元素上,因此您需要在架构数据中添加:"list"
。它应该看起来像:
schema: {
data:"list",
model: {
id: "GeoId",
fields: {
GeoId: { editable: false, nullable: true },
ContentId: { editable: false, nullable: true },
Latitude: { type: "number", validation: { required: true, min: 1 } },
Longitude: { type: "number", validation: { required: true, min: 1 } }
}
}
}
我想在我的剑道ui网格中进行内联编辑。数据绑定似乎工作正常,但当我在编辑某些内容后单击“更新”按钮时,范围会得到更新,但编辑对话框不会消失。如果单击另一个编辑按钮,它将进入失效状态。毕竟,只有当我至少提供一个伪函数作为k-save时,它才会更新作用域。出于某种原因,单击“取消”按钮确实会更新范围。所以“取消”按钮实现了我对“更新”按钮的期望。 您可能会看到,我想更新客户端的本地范围,而不是向任何服
我对某些字段的验证有问题。我只想验证几个字段,其他字段不应该验证。在我的Email字段中,我启动了一个函数来检查格式是否正确,但其他字段只是设置为验证。任何帮助都将不胜感激。 使用此代码,在尝试保存/更新时将验证所有字段。我不想验证分机或电话号码。
我使用Telerik的演示页面上显示的编辑网格。编辑网格后,我希望网格刷新。编辑网格后,网格是否有调用的任何事件? 我试图使用数据绑定事件。在本例中,我读取数据源,但它告诉我刷新网格是一个无限循环。我试图使用saveChanges事件,但它不起作用。
我在剑道格子里有一个剑道组合框。我使用MVVM绑定将组合框绑定到列表中的项目。问题是,当我从combobox下拉列表中选择一个项目时,一切正常,但当我手动在combobox中键入某个内容时,该值不会保存。。。以下是我的网格和组合框代码: 网格: 数据来源: 组合框:
我无法编辑剑道网格内联和弹出两者。单击“保存”按钮时,我的操作方法无法获取当前编辑单元格的值。 控制器代码: 在控制器中,我只得到空值。请帮帮我,我想使用剑道mvvm教学。