Jump to content

Добавить свойство Tag


Volk65

Recommended Posts

День добрый!

Большая просьба добавить свойство Tag в кнопки панели навигации (TfgNavigationBarButton если я ничего не путаю).

 

05_01.png

Link to comment
Share on other sites

  • Administrators

Здравствуйте.

Для идентификации кнопки в данном случае служит свойство Name

    /// <summary>Имя, которое можно использовать для идентификации кнопки на уровне кода.</summary>
    property Name: string read FName write FName;

 

Link to comment
Share on other sites

МикроФреймворк. Фреймы. В каждый фрейм приходит сообщение "FM_SHOW", после чего фрейм выполняет процедуру "главного окна" - добавь в меню "такой-то" пункт а в тэг записывается код фрейма. После закрытия фрейма "главное окно" атоматически удаляет пункты из меню (панели навигации) по коду фрейма записанного в тэге. Сейчас я использую код фрейма в имени TfgNavigationBarButton и выглядит это так: 1_Item1, 1_NewItem, 2_Item1, 2_MoreItem

 

Link to comment
Share on other sites

  • 2 weeks later...
В 08.05.2020 в 14:37, Yaroslav Brovin сказал:

Хотелось бы понять, для каких целей нужно свойство Tag в этих кнопках? Добавить не проблема, но хочется понимать идею.

Я тэги использовал когда работал с с данными из субд, например в dbedit/edit и прочие компоненты в тэги писал id данных для более быстрого доступа, Разрешения выбора данных и т.д.

 в фаст репорте тэги строковые, вообще кучу инфы вспомогательной можно записать, какие то данные через точку с запятой для последующего использования, так что тэги не нужно недооценивать, кто плотно сложными учетными системами занимался, подтвердят (Хотя это не точно ? ). Например какие варианты подотчётов можно вызвать, или колонка с артикулом товара, артикул это одно а Id товара/клиента/склада это другое (я например использую гуиды) И в тэги это превосходно ложится.

тэги типа интегер менее востребованы, точнее менее функциональны, а от вариантные куда я могу уложить что угодно (понятно что в разумных пределах) было бы просто супер, но как практика показала строковой тэг на 99 процентов покрывает его функциональное предназначение.

сейчас в firemonkey этого нет, поэтому я использовал в listview просто скрытые итемы для передачи id значений, что несколько неправославно так сказать

поэтому ещё раз повторюсь, тэг очень важен

Link to comment
Share on other sites

  • Administrators
13 часов назад, maximus-78 сказал:

Я тэги использовал когда работал с с данными из субд, например в dbedit/edit и прочие компоненты в тэги писал id данных для более быстрого доступа, Разрешения выбора данных и т.д.

Как правило, если вы пишете в теги много информации - это говорит о недостатках проектирования приложения.

Роль визуальных компонентов в отображении состояния некой модели данных и передавать в эту модель (как правило посредством некой  прослойки бизнес-логики) данные от действий пользователя. 

Для упрощения реализации данных правил существует ряд общепринятых архитектурных паттернов, таких как MVVM, MVC и тд.

Поэтому хоть теги иногда и упрощают программирование, но с другой стороны они с легкостью. могут запутать и усложнить логику приложения, жестко связывая логику с визуальным представлением.

  • Like 1
Link to comment
Share on other sites

Я не то чтобы много «напихивал» туда и прям везде и сплошь и рядом, но моменты были когда тэг помогал решить некоторые нестандартные моменты или исключения из правил

Link to comment
Share on other sites

Ну смотрите, если у вас плоский список, то каждому элементу списка будет соответствовать либо кусок json, либо запись в датасет.

Потому в OnBindItem Вы можете либо выгребать объект из json , либо позиционироваться на определенную позицию датасета.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...