Всем доброго времени суток!
Подскажите, как реализовать следующий таск в гриде детали есть есть текстовое поле которое необходимо сделать гиперссылкой - http://prntscr.com/hm7pnf
реализовал следующие методы:
getExternalURLLink: function() { return this.getLink(this.get("Number")); }, onExternalLinkClick: function() { debugger; var value = this.get("Number"); !Ext.isEmpty(value) && window.open(value, "_blank"); return false; }, getLink: function(value) { if (Terrasoft.isUrl(value)) { return { url: value, caption: value }; } } },
Вопрос в следующем, как привязать данные ф-ции к нужному полю?
Код детали приведен ниже:
define("ScCoinCommunicationDetail", ["ConfigurationGrid", "ConfigurationGridGenerator", "ConfigurationGridUtilities"], function() { return { entitySchemaName: "ScMeansOfCommunication", attributes: { "IsEditable": { dataValueType: Terrasoft.DataValueType.BOOLEAN, type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN, value: true } }, mixins: { ConfigurationGridUtilites: "Terrasoft.ConfigurationGridUtilities" }, methods: { getExternalURLLink: function() { return this.getLink(this.get("Number")); }, onExternalLinkClick: function() { debugger; var value = this.get("Number"); !Ext.isEmpty(value) && window.open(value, "_blank"); return false; }, getLink: function(value) { if (Terrasoft.isUrl(value)) { return { url: value, caption: value }; } } }, diff: /**SCHEMA_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.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 } } ]/**SCHEMA_DIFF*/ }; });
Благодарю!
Нравится
1 комментарий
12 декабря 2017 09:09
"ConfigurationGrid" - на самом деле начинать надо было вот с этого. По простому - никак, т.к в редактируемом гриде нет быстрого способа сделать гиперссылочное поле.
Придётся смотреть как реализована деталь "График поставки и оплат" в заказе. Там "Добавить" - кликабельное поле. Вангую, что скорее всего сделано в виде невидимой кнопки. Как-то так.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать