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