Изменение стиля кнопки в DataGrid

Добрый день!

Добавил кнопки в 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" }

                    }}]

Вот их отображение

Изображение удалено.

Нравится

3 комментария

Сергей, у оригинальных трёх кнопок стиль прозрачный и показывается заранее созданная картинка. См. в 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",
					},
				},

 

Нет никакого стиля базовых кнопок, это три картинки.

Показать все комментарии