Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Tab Control


Автор: Value 3.1.2006, 18:43
Помогите решить одну проблемку !
У меня имеется база данных, и чтобы её смог посмотреть пользователь я создал отдельную форму компонент Tab control, где табы имеют заголовки по алфавитному порядку. как установить Label в Tab control чтобы при введении его (например в новой форме для введения) Caption у label было отфильтровано по первой букве и вставленно в нужную вкладку Tab control. Или есть какой нибудь простой способ для содержания столбца базы для просмотра пользователем ?
P.S. кстати пользуюсь ADO так что наверное свойство filter не подойдёт

Автор: FRAGNATIC 4.1.2006, 18:16
Value
нифга не понял что тебе надо?
и причём тут бд?
те что просто надо отсортировать зоголовки? или в зависимости от заголовка текущеко таба отсортировать БД? или в зависисмости от даных бд остортировать табы?

Автор: Value 4.1.2006, 18:47
Табы у меня от А до Z, но мне надо чтобы данные из бд фильтровались по первой букве и вставлялись в соответствующий таб (например Moskow чтобы был в табе М, Samara в табе S и т.д) и при зтом чтобы записи были бы Label (но это не обязательно) и при клике на них открывалась форма информации данного. а если такое не возможно то посоветуйте как можно было бы отсортировать данные одного столбца таблицы и поместить их в отдельную форму

Автор: FRAGNATIC 4.1.2006, 18:56
кидаешь DBGrid и ADOQuery и DataSource всё это связываешь между собой

потом в оброботчике таба OnChange весь код ща писать не буду тк не запушена дэлфи, но вообщем выдираешь первую букву каптиона дапустим это A и потом пишешь такое
Код

      ADOQuery.Close;
      ADOQuery.SQL.Clear;
      ADOQuery.SQL.Add('SELET * FROM TableName WHERE SityName Like'+та самая первоя буква+'%' );   
      ADOQuery.Open;

Автор: Value 5.1.2006, 14:14
так это же очень много возни а описывать каждый таб весь алфавит лотинский перебрать надо, а как нибудь проще хотя бы просто на форме без табов?

Автор: z-END 5.1.2006, 14:26
Value зачем описывать каждый таб?!
используешь один обработчик для всех табов в таком виде:
Код

letter:=TabControl1.Tabs[TabControl1.Tabindex];
ADOQuery.SQL.Add('SELET * FROM TableName WHERE SityName Like'+letter+'%' );   

а в названиях табов вписываешь только букву.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)