Падајући списак унутар ДБГрид-а

Ево како смјестити падајућу листу за одабир у ДБГрид. Креирајте визуално атрактивнија корисничка сучеља за уређивање поља за претраживање унутар ДБГрид - користећи својство ПицкЛист ДБГрид ступца.

Сада, када знате шта су поља за претраживање и које су опције приказивања поља за претраживање у ДелпхиДБГрид, време је да видимо како се користи својство ПицкЛист ДГБрид колоне да би се кориснику омогућило да одабере вредност за поље за претрагу из падајућег списка.

Брзе информације о својству ДБГрид ступаца

А ДБГрид контрола има својство Цолумн - збирка ТЦолумн објеката који представљају све ступце у мрежи грид. Ступци се могу поставити у време пројектовања помоћу уређивача ступаца или програмски у време извођења. Обично ћете додати Колоне ДБГирд-у кад желите дефинирати како се ступац појављује, како се приказују подаци у ступцу и приступите својствима, догађајима и методама ТДБГридЦолумн у вријеме извођења. Прилагођена мрежа вам омогућава да конфигуришете више ступаца за презентацију различитих приказа истог података (различити редослиједи ступаца, различити избори поља и различите боје и фонта ступаца за пример).

instagram viewer

Сада је сваки ступац у мрежи „повезан“ са пољем из скупа података који се приказује у мрежи. Шта више, сваки ступац има својство ПицкЛист-а. Својство ПицкЛист наводи вредности које корисник може изабрати за вредност поља повезаног ступца.

Попуњавање ПицкЛист-а

Оно што ћете овдје научити је како да испуните ту листу низа вриједностима из другог скупа података током времена извођења.
Подсјетимо, ми уређујемо таблицу чланака и да поље Субјецт може прихватити само вриједности из табеле Субјецтс: идеална ситуација за ПицкЛист!

Ево како поставити ПицкЛист својство. Прво, додамо позив процедури СетупГридПицкЛист у обрађивачу догађаја ОнЦреате формата.

процедура ТФорм1.ФормЦреате (пошиљалац: ТОбјецт);
започети
СетупГридПицкЛист ('Субјецт', 'СЕЛЕЦТ Наме ОФ Субјецтцтс');
крај;

Најлакши начин за креирање процедуре СетупГридПицкЛист је одлазак на приватни део декларације обрасца, додајте декларацију и притисните комбинацију тастера ЦТРЛ + СХИФТ + Ц - Делпхи ће извршити довршавање кода одмор:

...
тип
ТФорм1 = класа (ТФорм)
...
приватни поступак СетупГридПицкЛист (
цонст Име поља: низ;
цонст скл: низ);
јавни
...

Напомена: процедура СетупГридПицкЛист има два параметра. Први параметар, ФиелдНаме, је име поља које желимо да делује као поље за претрагу; други параметар, СКЛ, је СКЛ израз који користимо за попуњавање ПицкЛист-а могућим вредностима - уопште, СКЛ израз треба да врати скуп података са само једним пољем.

Ево како изгледа СетупГридПицкЛист:

процедура ТФорм1.СетупГридПицкЛист (цонст Име поља, скл: низ);
вар
слПицкЛист: ТСтрингЛист;
Упит: ТАДОКуери;
и: цели број;
започети
слПицкЛист: = ТСтрингЛист. Креирај;
Упит: = ТАДОКуери. Креирајте (себе);
покушати
Упит. Веза: = АДОЦоннецтион1;
Упит. СКЛ.Тект: = скл;
Упит. Отворено;
// Попуните листу низадокне Упит. ЕОФ добегин
слПицкЛист. Додај (Упит) Поља [0] .АсСтринг);
Упит. Следећи;
крај; //while
// ставите листу у исправни ступацза и: = 0 до ДБГрид1.Цолумн. Тачка-1 урадити
ако ДБГрид1.Цолумн [и] .ФиелдНаме = Име поља тхенбегин
ДБГрид1.Цолумн [и] .ПицкЛист: = слПицкЛист;
Пауза;
крај;
напокон
слПицкЛист. Бесплатно;
Упит. Бесплатно;
крај;
крај; (* СетупГридПицкЛист *)

То је то. Сада, када кликнете на колону Предмет (да уђете у режим уређивања).

Напомена 1: падајућа листа подразумевано приказује 7 вредности. Можете да промените дужину ове листе постављањем својства ДропДовнРовс.

Напомена 2: ништа вас не спречава да попуните ПицкЛист са листе вредности које не долазе из табеле базе података. Ако, на пример, имате поље које прихвата само имена радних дана („понедељак“,…, „недеља“), можете да направите „тврдо кодиран“ ПицкЛист.

"Ух, морам да кликнем на ПицкЛист 4 пута ..."

Имајте на уму да када желите да уредите поље које приказује падајућу листу, мораћете да кликнете ћелију 4 пута да бисте заиста изабрали вредност са листе. Сљедећи исјечак кода, додан ДБГрид-овом ОнЦеллЦлицк руковатељу догађаја, опонаша погодак типки Ф2, а затим Алт + ДовнАрров.

процедура ТФорм1.ДБГрид1ЦеллЦлицк (Колона: ТЦолумн);
започети// Постављање падајуће листе за бирање бржеако Ступац. ПицкЛист. Број> 0 тхенбегин
кеибд_евент (ВК_Ф2,0,0,0);
кеибд_евент (ВК_Ф2,0, КЕИЕВЕНТФ_КЕИУП, 0);
кеибд_евент (ВК_МЕНУ, 0,0,0);
кеибд_евент (ВК_ДОВН, 0,0,0);
кеибд_евент (ВК_ДОВН, 0, КЕИЕВЕНТФ_КЕИУП, 0);
кеибд_евент (ВК_МЕНУ, 0, КЕИЕВЕНТФ_КЕИУП, 0);
крај;
крај;
instagram story viewer