Добрый день!
Добавил кнопки в 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", }, },