Добрый день. Надо создать контрол без привязки к полю, так что бы он не выделялся по стилю. После мучительных попыток это сделать родился следующий код:
{ "operation": "insert", "name": "UnBindedField", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 0, "row": 2, "layoutName": "CategoriesControlGroupContainer" }, "itemType": Terrasoft.ViewItemType.CONTAINER, "enabled": true, "contentType": 0, "classes": { "wrapClassName": ["control-width-15", "control-right"] }, "items": [ { "className": "Terrasoft.Container", "caption" : "TestCaption_3", "itemType": Terrasoft.ViewItemType.CONTAINER, "classes": { "wrapClassName": ["label-wrap"] }, "items": [{ "className": "Terrasoft.Caption", "caption" : "TestCaption_3", "itemType": Terrasoft.ViewItemType.LABEL }] }, { "className": "Terrasoft.TextEdit", "name": "UnBindedField_TextEdit", "itemType": Terrasoft.ViewItemType.CONTAINER, } ], "className": "Terrasoft.Container" }, "parentName": "CategoriesControlGroupContainer", "propertyName": "items", "index": 4 }
визуально он удовлетворяет требованиям, но уж больно сложное объявление, и конечный контрол с текстом имеет название "AccountPageV2UnBindedField_TextEditContainer-el", что тоже не сильно красиво.
Правильно ли я решил задачу, возможно есть более корректный способ добавления контролов?
Нравится
Добрый вечер.
Если вам не подходит привязка даже к виртуальному полю, тогда это единственный способ. По сути, при указании поля тоже самое генерируется за вас и передаться во viewgenerator, если вы опускаете поле – придется делать это руками. Имена тоже генерируются во viewgenerator (он сам добавляет суффиксы, префиксы). Также, если вы планируете писать/читать из этого контрола, рекомендую использовать привязку к виртуальному полю вместо ручной генерации.
Добрый вечер.
Как создать сам грид можете посмотреть в BaseSectionV2. Заполнение происходит через миксин GridUtilitiesV2, так что можете в своей схеме переопределить метод loadGridData.