Сделал редактируемый реест с позицией.
Добавил кнопки вверх и вниз
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 скорее всего забыли:
[javascript]
this.callParent(arguments);
[/javascript]
т.е. Ваша логика затерла "родительскую", а подразумевалось ее дополнение.
Игорь то что у меня вначале стоит.
[csharp]
init: function() {
this.callParent(arguments);
},
[/csharp]
не работает?
это для метода init
я же вам говорю про метод onActiveRowAction
у каждого метода своя само собой цепочка.
вставьте
[javascript]
this.callParent(arguments);
[/javascript]
в начале или в конце вашего описания метода onActiveRowAction
Может я не правильно описал сами кнопки
[csharp]
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;
}
},
[/csharp]
а зачем закомментировали
[javascript]
//this.callParent(arguments);
[/javascript]
не помогло ?
Не помогло.
Вообще все кнопки перестали работать.
Делаю так.
Из базового BaseSectionV2 из метода onActiveRowAction
Копирую и вставляю код
[csharp]
case "delete":
this.deleteRecords();
break;
[/csharp]
Только пока не нашел где для cancel и save
в вашем switch case поместите
[javascript]
this.callParent(arguments)
[/javascript]
в условие default:
Но ведь метод onActiveRowAction в детали с ред. реестром вызывается из схемы ConfigurationGridUtyilities. Вам не нужно вызывать радителя. Достаточно скопировать весь код замещаемого метода и добавить свою логику в switch.
"Мотков Илья" написал:с ред. реестром вызывается из схемы ConfigurationGridUtyilities.
мне кажется правильнее будет её (ConfigurationGridUtyilities) и замещать. Предусмотрев логику, таким образом, чтобы отличать свой кейс использования от прочих вызовов этого метода в системе.