Добрый день!
Добавил кнопки в DataGrid, но они выбиваются из общего стиля, как это можно исправить?
Код с добавлением кнопки в DataGrid
diff: [{
operation: "merge",
name: "DataGrid",
values: {
className: "Terrasoft.ConfigurationGrid",
generator: "ConfigurationGridGenerator.generatePartial",
generateControlsConfig: { bindTo: "generateActiveRowControlsConfig" },
changeRow: { bindTo: "changeRow" },
unSelectRow: { bindTo: "unSelectRow" },
onGridClick: { bindTo: "onGridClick" },
activeRowActions: [{
className: "Terrasoft.Button",
style:this.Terrasoft.controls.ButtonEnums.style.GREEN,
markerValue: "CallAction",
tag: "CallAction",
caption: "\u2706"
}],
initActiveRowKeyMap: { bindTo: "initActiveRowKeyMap" },
activeRowAction: { bindTo: "onActiveRowAction" }
}}]
Вот их отображение
![]()
Нравится
Сергей, у оригинальных трёх кнопок стиль прозрачный и показывается заранее созданная картинка. См. в ProductDetailV2:
{
"operation": "merge",
"name": "DataGrid",
"values": {
"className": "Terrasoft.ConfigurationGrid",
"generator": "ConfigurationGridGenerator.generatePartial",
"generateControlsConfig": {bindTo: "generateActiveRowControlsConfig"},
"multiSelect": {"bindTo": "MultiSelect"},
"changeRow": {"bindTo": "changeRow"},
"selectRow": {"bindTo": "createEditRow"},
"unSelectRow": {"bindTo": "unSelectRow"},
"onGridClick": {"bindTo": "onGridClick"},
"activeRowActions": [
{
"className": "Terrasoft.Button",
"style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "save",
"markerValue": "save",
"imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
},
{
"className": "Terrasoft.Button",
"style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "cancel",
"markerValue": "cancel",
"imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
},
{
"className": "Terrasoft.Button",
"style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
"tag": "remove",
"markerValue": "remove",
"imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
}
],
"listedZebra": true,
"initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
"activeRowAction": {"bindTo": "onActiveRowAction"}
}
},Сами картинки, видимо, из BaseConfigurationGridRow, где они добавлены в дизайнере в левом блоке.
Зверев Александр пишет:
Сергей, у оригинальных трёх кнопок стиль прозрачный и показывается заранее созданная картинка. См. в ProductDetailV2:
{ "operation": "merge", "name": "DataGrid", "values": { "className": "Terrasoft.ConfigurationGrid", "generator": "ConfigurationGridGenerator.generatePartial", "generateControlsConfig": {bindTo: "generateActiveRowControlsConfig"}, "multiSelect": {"bindTo": "MultiSelect"}, "changeRow": {"bindTo": "changeRow"}, "selectRow": {"bindTo": "createEditRow"}, "unSelectRow": {"bindTo": "unSelectRow"}, "onGridClick": {"bindTo": "onGridClick"}, "activeRowActions": [ { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "tag": "save", "markerValue": "save", "imageConfig": {"bindTo": "Resources.Images.SaveIcon"} }, { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "tag": "cancel", "markerValue": "cancel", "imageConfig": {"bindTo": "Resources.Images.CancelIcon"} }, { "className": "Terrasoft.Button", "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "tag": "remove", "markerValue": "remove", "imageConfig": {"bindTo": "Resources.Images.RemoveIcon"} } ], "listedZebra": true, "initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"}, "activeRowAction": {"bindTo": "onActiveRowAction"} } },Сами картинки, видимо, из BaseConfigurationGridRow, где они добавлены в дизайнере в левом блоке.
Я могу каким либо другим способом добавить кнопку что бы их стиль был идентичен базовым кнопкам? Вообще такие способы существуют? В базовых примерах я не смог найти подходящих решений.
На самом деле мой код выглядит так, просто я не добавил выше код базовых кнопок что бы показать суть проблемы :
...
activeRowActions: [{
// Моя кнопка,
// Код кнопок из вашего ответа
}],
...Если бы кнопка была не в гриде, тогда проблема со стилями не возникает, но такой вариант не подходит, так как мои кнопки находятся в activeRowActions
{
operation: "insert",
name: "InfoButton",
parentName: "ActionButtonsContainer",
propertyName: "items",
values: {
click: { bindTo: "onButtonClick"},
itemType: this.Terrasoft.ViewItemType.BUTTON,
style: this.Terrasoft.controls.ButtonEnums.style.GREEN,
hint: { bindTo: "showHint" },
caption: "\u29C9",
},
},