Сделал редактируемый реест с позицией.
Добавил кнопки вверх и вниз
this.callParent(arguments);
},
...
onActiveRowAction: function(buttonTag) {
var activeRow = this.getActiveRow();
var position;
switch (buttonTag) {
case "Up":
position = activeRow.get("Position");
if (position > 0) {
position--;
this.setPosition(activeRow.get("Id"), position, this.reloadGridData, this);
}
break;
case "Down":
position = activeRow.get("Position");
position++;
this.setPosition(activeRow.get("Id"), position, this.reloadGridData, this);
break;
default:
break;
}
},
соответственно кнопки удаления теперь не работают.
Как мне сделать чтобы работали?
Нравится
в методе onActiveRowAction скорее всего забыли:
this.callParent(arguments);
т.е. Ваша логика затерла "родительскую", а подразумевалось ее дополнение.
Игорь то что у меня вначале стоит.
init: function() { this.callParent(arguments); },
не работает?
это для метода init
я же вам говорю про метод onActiveRowAction
у каждого метода своя само собой цепочка.
вставьте
this.callParent(arguments);
в начале или в конце вашего описания метода onActiveRowAction
Может я не правильно описал сами кнопки
diff: /**SCHEMA_DIFF*/[ { "operation": "merge", "name": "DataGrid", "values": { "className": "Terrasoft.ConfigurationGrid", "generator": "ConfigurationGridGenerator.generatePartial", "generateControlsConfig": {"bindTo": "generatActiveRowControlsConfig"}, "changeRow": {"bindTo": "changeRow"}, "unSelectRow": {"bindTo": "unSelectRow"}, "onGridClick": {"bindTo": "onGridClick"}, "activeRowActions": [ { "className": "Terrasoft.Button", "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "tag": "save", "markerValue": "save", "imageConfig": {"bindTo": "Resources.Images.SaveIcon"} }, { "className": "Terrasoft.Button", "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "tag": "cancel", "markerValue": "cancel", "imageConfig": {"bindTo": "Resources.Images.CancelIcon"} }, { "className": "Terrasoft.Button", "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "tag": "remove", "markerValue": "remove", "imageConfig": {"bindTo": "Resources.Images.RemoveIcon"} } ], "initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"}, "activeRowAction": {"bindTo": "onActiveRowAction"}, "multiSelect": false } }, { "operation": "insert", "name": "DataGridActiveRowUpButton", "parentName": "DataGrid", "propertyName": "activeRowActions", "values": { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "imageConfig": LocalizableHelper.localizableImages.Up, "tag": "Up" } }, { "operation": "insert", "name": "DataGridActiveRowDownButton", "parentName": "DataGrid", "propertyName": "activeRowActions", "values": { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "imageConfig": LocalizableHelper.localizableImages.Down, "tag": "Down" } } ]/**SCHEMA_DIFF*/, methods: { init: function() { this.callParent(arguments); }, onActiveRowAction: function(buttonTag) { var activeRow = this.getActiveRow(); var position; //this.callParent(arguments); switch (buttonTag) { case "Up": position = activeRow.get("Position"); if (position > 0) { position--; this.setPosition(activeRow.get("Id"), position, this.reloadGridData, this); } break; case "Down": position = activeRow.get("Position"); position++; this.setPosition(activeRow.get("Id"), position, this.reloadGridData, this); break; default: break; } },
а зачем закомментировали
//this.callParent(arguments);
не помогло ?
Не помогло.
Вообще все кнопки перестали работать.
Делаю так.
Из базового BaseSectionV2 из метода onActiveRowAction
Копирую и вставляю код
case "delete": this.deleteRecords(); break;
Только пока не нашел где для cancel и save
в вашем switch case поместите
this.callParent(arguments)
в условие default:
Но ведь метод onActiveRowAction в детали с ред. реестром вызывается из схемы ConfigurationGridUtyilities. Вам не нужно вызывать радителя. Достаточно скопировать весь код замещаемого метода и добавить свою логику в switch.
"Мотков Илья" написал:с ред. реестром вызывается из схемы ConfigurationGridUtyilities.
мне кажется правильнее будет её (ConfigurationGridUtyilities) и замещать. Предусмотрев логику, таким образом, чтобы отличать свой кейс использования от прочих вызовов этого метода в системе.