我可以在运行时使用.js文件在Kendo Data Source中添加一行,但我没有从表单(UI)中看到,我按照以下步骤进行操作
var vgrid = $("#grdEntitys").data("kendoGrid");
var datasource = vgrid.dataSource;
var newRecord = { No: "8164",ModellNo: "147",ID: "Test01", Name: "TEST"}
datasource.insert(newRecord);
然后它抛出一个错误“TypeError:无法读取未定义的属性'AttributeValue'”, 如果我们查看控制台日志,我可以看到已插入的行数以及新插入的记录。但在UI中没有变化(UI网格)。
你可以请任何人让我知道,如何在客户端添加行?提前致谢
答案 0 :(得分:2)
对于插入,您必须指定索引(Insert):
var dataItem = dataSource.insert(0, { name: "John Doe" });
或者,您可以使用Add,而无需指定索引:
<script>
var dataSource= new kendo.data.DataSource({
data: [
{ name: "Jane Doe", age: 30 }
]
});
dataSource.add({ name: "John Doe", age: 33 });
答案 1 :(得分:0)
您可以使用事件中的脚本在网格中添加项目。
var dataSource = $("#CustomerPackageChannelKendoGridAdd").data("kendoGrid").dataSource;
// Get value from another field
var _JV_ACCOUNT_ID = $('#JV_ACCOUNT_ID').val();
var _JV_ACCOUNT_NAME = $('#JV_ACCOUNT_NAME').val();
var _JV_ACCOUNT_CODE = $('#JV_ACCOUNT_CODE').val();
var _JV_NOTES = $('#JV_NOTES').val();
var _JV_DATE = $('#JV_DATE').val();
var type = $('#JV_Transaction_TYPE').val();
// You can set condition if required for you
if (CheckExistingData(gridDataAdd, _JV_ACCOUNT_ID) == false) {
currentId += 1;
dataSource.add(
{
id: currentId,
JV_ACCOUNT_ID: _JV_ACCOUNT_ID,
JV_ACCOUNT_NAME: _JV_ACCOUNT_NAME
, JV_ACCOUNT_CODE: _JV_ACCOUNT_CODE
, JV_NOTES: _JV_NOTES
, JV_DATE: _JV_DATE
, JV_DEBIT_AMOUNT: _JV_DEBIT_AMOUNT
, JV_CREDIT_AMOUNT: _JV_CREDIT_AMOUNT
});
}
您还可以see this:
获取更多信息