Сетка кендо: сделать несколько ячеек подряд грязными, используя jQuery
У меня есть пакетная редактируемая сетка. Я изменяю элементы данных с помощью jQuery и помечаю измененное значение как грязное, например: grid._modelChange({ field: "propertyName", model: dataItem}); Другой способ - метод set(): dataItem.set("propertyName","value"), но я не использую его, потому что он очень медленный.
Я хочу пометить несколько ячеек как грязные в строке, но когда я отмечаю второе поле, грязная отметка первого пропа исчезает, а когда помечает третье поле как измененное, грязная отметка во втором поле исчезает, поэтому только третья опора становится грязной.
Следующий цикл обновляет dataItem и помечает поле как грязное:
$(GridDataItems).each(function () {
this.Prop1 = false;
Grid._modelChange({ field: "Prop1", model: this });
this.Prop2 = "someValue";
Grid._modelChange({ field: "Prop2", model: this });
this.Prop3= "someOtherValue";
Grid._modelChange({ field: "Prop3", model: this });
}
);
Мне нужно что-то вроде этого:
Grid._modelChange({ field: "Prop1", model: dataItem },
{ field: "Prop2", model: dataItem },
{ field: "Prop3", model: dataItem });
Есть идеи, чтобы грязные следы не исчезали? Благодарю.
2 ответа
Я считаю, что это правильное поведение сетки кендо. Проверьте эту ссылку:
http://www.telerik.com/forums/manually-updating-multiple-values
Посмотрите статью, в которой говорится о выделении нескольких ячеек грязным флагом:
http://blog.codebeastie.com/kendo-grid-javascript-data-manipulation/
Спасибо всем, я наконец нашел решение в этом сообщении в блоге:
http://blog.codebeastie.com/kendo-grid-javascript-data-manipulation/
Проблема заключалась в том, что, если я вызвал _modelCahnge для свойства, он обновил всю строку и удалил все метки грязных ячеек.
Я сохранил измененные имена свойств в массиве, и после вызова всех методов _modelChange() выполните итерацию в цикле по массиву и найдите ячейку по имени столбца в строке, которую я искал по идентификатору элемента dataItem.