我有一個訂單線網格,我需要能夠通過編輯窗體字段預先填充(使用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