Posted May 8, 20205 yr День добрый! Большая просьба добавить свойство Tag в кнопки панели навигации (TfgNavigationBarButton если я ничего не путаю).
May 8, 20205 yr Administrators Здравствуйте. Для идентификации кнопки в данном случае служит свойство Name /// <summary>Имя, которое можно использовать для идентификации кнопки на уровне кода.</summary> property Name: string read FName write FName;
May 8, 20205 yr Administrators Хотелось бы понять, для каких целей нужно свойство Tag в этих кнопках? Добавить не проблема, но хочется понимать идею.
May 8, 20205 yr Author МикроФреймворк. Фреймы. В каждый фрейм приходит сообщение "FM_SHOW", после чего фрейм выполняет процедуру "главного окна" - добавь в меню "такой-то" пункт а в тэг записывается код фрейма. После закрытия фрейма "главное окно" атоматически удаляет пункты из меню (панели навигации) по коду фрейма записанного в тэге. Сейчас я использую код фрейма в имени TfgNavigationBarButton и выглядит это так: 1_Item1, 1_NewItem, 2_Item1, 2_MoreItem
May 8, 20205 yr Administrators 1 hour ago, Volk65 said: в тэг записывается код фрейма Код целочисленный, строковый или это вообще объект?
May 8, 20205 yr Author Такой же как и у остальных контролов. NativeInt ? У меня лично это целочисленный. Edited May 8, 20205 yr by Volk65
May 8, 20205 yr Administrators Свойства Tag, TagObject добавлены для TfgListMenuItem и TfgNavigationBarButton в 1.1.6.2.
May 18, 20205 yr В 08.05.2020 в 14:37, Yaroslav Brovin сказал: Хотелось бы понять, для каких целей нужно свойство Tag в этих кнопках? Добавить не проблема, но хочется понимать идею. Я тэги использовал когда работал с с данными из субд, например в dbedit/edit и прочие компоненты в тэги писал id данных для более быстрого доступа, Разрешения выбора данных и т.д. в фаст репорте тэги строковые, вообще кучу инфы вспомогательной можно записать, какие то данные через точку с запятой для последующего использования, так что тэги не нужно недооценивать, кто плотно сложными учетными системами занимался, подтвердят (Хотя это не точно ? ). Например какие варианты подотчётов можно вызвать, или колонка с артикулом товара, артикул это одно а Id товара/клиента/склада это другое (я например использую гуиды) И в тэги это превосходно ложится. тэги типа интегер менее востребованы, точнее менее функциональны, а от вариантные куда я могу уложить что угодно (понятно что в разумных пределах) было бы просто супер, но как практика показала строковой тэг на 99 процентов покрывает его функциональное предназначение. сейчас в firemonkey этого нет, поэтому я использовал в listview просто скрытые итемы для передачи id значений, что несколько неправославно так сказать поэтому ещё раз повторюсь, тэг очень важен
May 19, 20205 yr Administrators 13 часов назад, maximus-78 сказал: Я тэги использовал когда работал с с данными из субд, например в dbedit/edit и прочие компоненты в тэги писал id данных для более быстрого доступа, Разрешения выбора данных и т.д. Как правило, если вы пишете в теги много информации - это говорит о недостатках проектирования приложения. Роль визуальных компонентов в отображении состояния некой модели данных и передавать в эту модель (как правило посредством некой прослойки бизнес-логики) данные от действий пользователя. Для упрощения реализации данных правил существует ряд общепринятых архитектурных паттернов, таких как MVVM, MVC и тд. Поэтому хоть теги иногда и упрощают программирование, но с другой стороны они с легкостью. могут запутать и усложнить логику приложения, жестко связывая логику с визуальным представлением.
May 19, 20205 yr Я не то чтобы много «напихивал» туда и прям везде и сплошь и рядом, но моменты были когда тэг помогал решить некоторые нестандартные моменты или исключения из правил
May 19, 20205 yr Я вообще обхожусь, живет json или датасет, и позиция в списке=позиции json или (RecNo-1) датасет
May 20, 20205 yr В 19.05.2020 в 21:24, Stas сказал: Я вообще обхожусь, живет json или датасет, и позиция в списке=позиции json или (RecNo-1) датасет Можно чуть подробнее?
May 20, 20205 yr Ну смотрите, если у вас плоский список, то каждому элементу списка будет соответствовать либо кусок json, либо запись в датасет. Потому в OnBindItem Вы можете либо выгребать объект из json , либо позиционироваться на определенную позицию датасета.
Create an account or sign in to comment