我有一个订单线网格,我需要能够通过编辑窗体字段预先填充(使用AngularJs)以编程方式打开弹出窗体编辑窗体。如何以编程方式为Kendo UI网格(AngularJS)填充添加行窗体
在HTML,我对ticketEntryController一个lineGrid和Add按钮,它调用addRow():
<div id="wrapper" class="container-fluid" ng-controller="ticketEntryController">
<div ng-controller="ticketLineController">
<div kendo-grid="ticketLineGrid" k-options="getTicketLineGridOptions()"></div>
</div>
<button id="addButton" ng-click="addRow()" class="btn btn-primary btn-sm">Add Row</button>
</div>
这里是ticketEntryController:
(function() {
'use strict';
angular.module('app').controller('ticketEntryController', ticketEntryController);
function ticketEntryController($scope) {
$scope.lineGrid = {};
$scope.addRow = function() {
var item = { itemNo: 'TEST123', itemDescr: 'Some description' };
$scope.$broadcast('AddRow', item);
}
}
})();
这里是ticketLineController的一部分:
function ticketLineController($scope) {
$scope.$on('AddRow', function(event, item) {
console.log("ticketLineController, AddRow: " + item.itemNo);
$scope.itemNo = item.itemNo;
$scope.itemDescr = item.itemDescr;
$scope.ticketLineGrid.addRow();
});
Plunker:http://plnkr.co/edit/VG39UlTpyjeTThpTi4Gf?p=preview
单击添加行按钮时,编辑器弹出窗体打开,但所有字段都是空的。我如何填充字段(就像当您单击现有行的编辑按钮时那样)?
你想在新行上填充什么值?是不是新行应该有空值,因为它是“新” – JoseM 2014-09-03 19:20:54
@JoseM用户将扫描条形码或在网格中查找项目,然后选择要添加到订单的项目。这应该显示添加/编辑弹出窗体,这是一个自定义窗体,其中包含多个只读(信息)字段,显示项目描述,制造商,制造商零件编号,成本等,以及一些可编辑字段,例如作为数量和价格,用户在将该行添加到网格之前将根据需要编辑该数量和价格。 – Lars335 2014-09-03 19:29:05
@JoseM只是为了澄清我的最后一条评论:“用户将扫描条形码或在网格中查找项目”中的“网格”一词指单独的项目查找网格。蹲点非常简单,不包括这个项目查找网格等 - 它只包含足以显示具体问题,并希望获得答案。 – Lars335 2014-09-03 19:57:53