Я использую пользовательский шаблон ячейки, чье поле связывается с выражением функции. Данные ячейки привязываются к объекту с несколькими ключами. Я использую настраиваемую функцию, которая возвращает строку в шаблон ячейки столбца.Редактирование и фильтрация проблем в пользовательских шаблонах ячеек в сетке пользовательского интерфейса
Теперь есть две проблемы, с которыми я столкнулся после выполнения этой реализации.
- Фильтрация не работает в этой конкретной ячейке.
- Существует угловая ошибка при переходе на режим редактирования для этой ячейки:
Error: [ngModel:nonassign] Expression 'row.entity'getDisplayTitle'' is non-assignable. Element: 'getDisplayTitle'" class="ng-pristine ng-untouched ng-valid ng-scope">
я копировал эту проблему с помощью plunker.
var app = angular.module('app', ['ngTouch', 'ui.grid', 'ui.grid.edit']);
app.controller('MainCtrl', ['$scope', function ($scope) {
$scope.getDisplayTitle = function (rowEntity, column) {
var displayTitle = "";
if (rowEntity[column] !== null) {
if (rowEntity[column].length > 1) {
for (var i = 0; i < rowEntity[column].length; i++) {
displayTitle = displayTitle + rowEntity[column][i].street + "; ";
}
}
else if (rowEntity[column].length == 1) {
displayTitle = rowEntity[column][0].street;
}
else
displayTitle = rowEntity[column].street;
}
else {
displayTitle = "";
}
return displayTitle;
}
$scope.gridOptions = {
enableSorting: true,
enableFiltering:true,
columnDefs: [
{ name:'firstName', field: 'first-name' },
{
name:'address',
field: 'getDisplayTitle()',
cellTemplate : '<div class=".ui-grid-cell-contents"> {{grid.appScope.getDisplayTitle(row.entity, col.colDef.name)}} </div>'},
,
{ name:'1stFriend', field: 'friends.name' }
],
data : [ {
"first-name": "Cox1",
"friends": {name:"ritesh"},
"address": [{street:"ritesh1", city:"Laurel", zip:"39565"},{street:"puneet", city:"Laurel", zip:"39565"},{street:"kavleen", city:"Laurel", zip:"39565"},]
},{
"first-name": "Cox2",
"friends": {name:"puneet"},
"address": [{street:"ritesh2", city:"Laurel", zip:"39565"},{street:"puneet", city:"Laurel", zip:"39565"},{street:"kavleen", city:"Laurel", zip:"39565"},]
},{
"first-name": "Cox3",
"friends": {name:"kavleen"},
"address": [{street:"ritesh3", city:"Laurel", zip:"39565"},{street:"puneet", city:"Laurel", zip:"39565"},{street:"kavleen", city:"Laurel", zip:"39565"},]
},{
"first-name": "Cox4",
"friends": {name:"alankar"},
"address": [{street:"ritesh4", city:"Laurel", zip:"39565"},{street:"puneet", city:"Laurel", zip:"39565"},{street:"kavleen", city:"Laurel", zip:"39565"},]
}
]
};
}]);
Благодаря
Можете ли вы, пожалуйста, помочь мне разрешить это, используя пример plunker ... Спасибо. –