Kendo UI 网格未定义小数
Kendo UI grid undefined decimal
这是我的网格:
$("#grid").kendoGrid({
dataSource: {
type: "odata",
transport: {
read: {
url: '/Discount/Get',
dataType: "jsonp",
type: "POST"
},
update: {
url: '/Discount/Update',
dataType: "jsonp",
type: "POST"
},
destroy: {
url: '/Discount/Delete',
dataType: "jsonp",
type: "POST"
},
create: {
url: '/Discount/Add',
dataType: "jsonp",
type: "POST"
},
parameterMap: function (options, operation) {
console.log(operation);
console.log(options);
if (operation == "update") {
return { discountId: options.models.DiscountId, discountValue: options.models.DiscountValue }
}
if (operation == "create") {
return JSON.stringify({ discountValue: options.models.DiscountValue, topItemName: options.models.TopItemName });
}
if (operation == "destroy") {
return { discountId: options.models.DiscountId }
}
}
},
schema: {
model: {
id: "DiscountId",
fields: {
DiscountId: { type: "number" },
TopItemName: { type: "string" },
DiscountValue: { type: "number" }
}
}
}
},
toolbar: ["create", "save", "cancel"],
height: 400,
sortable: true,
pageable: true,
columns: [
{
field: "TopItemName",
filterable: true
},
{
field: "DiscountValue",
format: "{0:p0}",
editor: function (container, options) {
$("<input name='DiscountValue'>")
.appendTo(container)
.kendoNumericTextBox(
{
min: 0,
max: 1.0,
step: 0.01
});
}
}],
editable: true
});
在网格中,我有一个自定义编辑器,它将文本框设置为百分比。
在我的 console.log 中,当我进行创建调用时,我得到了这个
Object {DiscountId: 0, TopItemName: "asdasd", DiscountValue: "0.05"}
所以 DiscountValue
有一个值。但我仍然收到错误消息:
Uncaught TypeError: Cannot read property 'DiscountValue' of undefined
这是关于 DiscountValue
是浮点值吗?
Uncaught TypeError: Cannot read property 'DiscountValue' of undefined
此错误并不意味着没有字段 'DiscountValue',它意味着您正在尝试读取 undefined
变量的 属性。
所以如果错误来自这里:
options.models.DiscountValue
表示options.models
未定义
您的日志输出打印了 options
的定义,而不是 options.models
。
您可能会混淆 options.DiscountValue
?
这是我的网格:
$("#grid").kendoGrid({
dataSource: {
type: "odata",
transport: {
read: {
url: '/Discount/Get',
dataType: "jsonp",
type: "POST"
},
update: {
url: '/Discount/Update',
dataType: "jsonp",
type: "POST"
},
destroy: {
url: '/Discount/Delete',
dataType: "jsonp",
type: "POST"
},
create: {
url: '/Discount/Add',
dataType: "jsonp",
type: "POST"
},
parameterMap: function (options, operation) {
console.log(operation);
console.log(options);
if (operation == "update") {
return { discountId: options.models.DiscountId, discountValue: options.models.DiscountValue }
}
if (operation == "create") {
return JSON.stringify({ discountValue: options.models.DiscountValue, topItemName: options.models.TopItemName });
}
if (operation == "destroy") {
return { discountId: options.models.DiscountId }
}
}
},
schema: {
model: {
id: "DiscountId",
fields: {
DiscountId: { type: "number" },
TopItemName: { type: "string" },
DiscountValue: { type: "number" }
}
}
}
},
toolbar: ["create", "save", "cancel"],
height: 400,
sortable: true,
pageable: true,
columns: [
{
field: "TopItemName",
filterable: true
},
{
field: "DiscountValue",
format: "{0:p0}",
editor: function (container, options) {
$("<input name='DiscountValue'>")
.appendTo(container)
.kendoNumericTextBox(
{
min: 0,
max: 1.0,
step: 0.01
});
}
}],
editable: true
});
在网格中,我有一个自定义编辑器,它将文本框设置为百分比。
在我的 console.log 中,当我进行创建调用时,我得到了这个
Object {DiscountId: 0, TopItemName: "asdasd", DiscountValue: "0.05"}
所以 DiscountValue
有一个值。但我仍然收到错误消息:
Uncaught TypeError: Cannot read property 'DiscountValue' of undefined
这是关于 DiscountValue
是浮点值吗?
Uncaught TypeError: Cannot read property 'DiscountValue' of undefined
此错误并不意味着没有字段 'DiscountValue',它意味着您正在尝试读取 undefined
变量的 属性。
所以如果错误来自这里:
options.models.DiscountValue
表示options.models
未定义
您的日志输出打印了 options
的定义,而不是 options.models
。
您可能会混淆 options.DiscountValue
?