3

editableCellTemplateng-grid で ColumnDef オプションを設定しようとしています (ここに文書化されています)。

設定すると、デフォルト値の であっても<input ng-class="'colt' + col.index" ng-input="COL_FIELD" />、セルをクリックするとすぐにエラーが発生します

エラー: コントローラーがありません: nodeLinkFn ( http://foo.com:43037/Scripts/angular . js:4361:35 ) compositeLinkFn ( http://foo.com:43037/Scripts/angular.js:3969:15 ) で、compositeLinkFn ( http://foo.com:43037/Scripts/angular.js:3972: 13 ) オブジェクトの publicLinkFn ( http://foo.com:43037/Scripts/angular.js:3874:30 )。( http://foo.com:43037/Scripts/ng-grid-2.0.7.js:2660:13 ) Object.applyFunction [as fn] (:778:50) で Object.Scope.$digest ( http ://foo.com:43037/Scripts/angular.js:7896:27 ) Object.$delegate で。プロト.$digest (:844:31) <input ng-class="'colt' + col.index" ng-input="row.entity.Name">

editableCellTemplate を設定しない場合、セルの編集は問題なく機能します。

$scope.gridOptions = {
    data: 'people',
    enableCellSelection: true,
    enableRowSelection: false,
    enableCellEdit: true,
    columnDefs:
    [
        { field: 'Id', displayName: 'ID', enableCellEdit: false },
        { field: 'Name', enableCellEdit: true, 
          editableCellTemplate: '<input ng-class="\'colt\' + col.index" ng-input="COL_FIELD" />' }
    ]
};

なにが問題ですか?

(私が実際に解決しようとしている問題は、セル編集が終了したときにイベントを作成することですが、その解決策はセルテンプレートを設定できることを前提としています)

4

1 に答える 1

8

のテンプレートには、属性も定義inputする必要があります。ng-model

<input ng-class="'colt' + col.index" ng-input="COL_FIELD" ng-model="COL_FIELD" />

これがデフォルトです editableCellTemplate

于 2013-08-23T11:04:58.070 に答える