|
Вопрос # 4 559/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Стою перед делемой - в БД в одной из таблиц(делал через Paradox7) есть колонка с фамилиями сотрудников.нужно загружать закладки с первыми буквами этих фамилий,причем только тех которые существуют в таблице а не весь алфавит.
так как я начинающий программист, не ругайте если неправильно поставил вопрос
 |
Вопрос задал: Степанов Дмитрий (статус: Посетитель)
Вопрос отправлен: 3 сентября 2010, 16:57
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 16; последнее сообщение — 5 сентября 2010, 00:03; участников в обсуждении: 5.
|
Ерёмин А.А. (статус: *Администратор), 3 сентября 2010, 17:39 [#1]:
Функция SUBSTRING есть практически в любой СУБД. Название может отличаться. Вот с помощью неё и нужно выбрать все первые буквы и сгруппировать.
|
|
Степанов Дмитрий (статус: Посетитель), 3 сентября 2010, 17:53 [#2]:
вопрос не в этом, а в том что нужно чтобы появлялись вкладки по буквам и если нет фамилии на ,допустим, "В" , то и не должно быть такой вкладки
|
|
Вадим К (статус: Академик), 3 сентября 2010, 18:42 [#3]:
то есть проблема создать вкладки по известному списку букв?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Степанов Дмитрий (статус: Посетитель), 3 сентября 2010, 20:04 [#4]:
в том то и дело что нет.БД же будет изменяться и со временем какие-то буквы будут не нужны, а какие-то наоборот
|
|
bugmenot (статус: 3-ий класс), 3 сентября 2010, 20:14 [#5]:
дилеммой, facepalm
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
Степанов Дмитрий (статус: Посетитель), 3 сентября 2010, 20:30 [#6]:
мы здесь не синтаксис обсуждаем
|
|
Степанов Дмитрий (статус: Посетитель), 3 сентября 2010, 20:51 [#7]:
".нужно загружать закладки с первыми буквами этих фамилий,причем только тех которые существуют в таблице а не весь алфавит." то есть ,доаустим, закладка "С" будет содержать все фамилии начинающиеся на "С",если не фамилий на "С" то этой закладки быть не должно
|
|
Мережников Андрей (статус: Абитуриент), 3 сентября 2010, 21:11 [#8]:
закладки в чем? куда должна загружаться информация? в PageControl или куда-то еще? Проблема в динамическом создании?
|
|
Степанов Дмитрий (статус: Посетитель), 3 сентября 2010, 21:15 [#9]:
по сути все равно куда, главное результат, я думал что загружать в TabControl.и да-проблема в динамическом создании
|
|
Мережников Андрей (статус: Абитуриент), 3 сентября 2010, 21:19 [#10]:
Если проблема в динамическом создании, то можно поступить, например, так (по принципу:если не знаешь как решить проблему, ищите обходные пути). При проектировании создаете вкладки со всеми буквами, на которые могут начинаться фамилии (понятно, что на мягкий знак фамилия начинаться не может). Перед чтением из БД всем вкладкам выставляете visible:=false; если буква в таблице есть, то ставим visible:=true.
|
|
Мережников Андрей (статус: Абитуриент), 3 сентября 2010, 21:30 [#11]:
Предвижу колкие замечания экспертов по данному совету, поэтому сразу признаю, что это не самый изящный вариант решения.
|
|
Степанов Дмитрий (статус: Посетитель), 3 сентября 2010, 21:58 [#12]:
это если использовать TabControl ? спрашиваю потому что не знаю как в программном коде называется вкладка, а в целом алгоритм понятен
|
|
Вадим К (статус: Академик), 4 сентября 2010, 00:02 [#13]:
А вкладка называется TabSheet (удивительно ) ).
у PageControl есть свойство Pages[индекс] которое возвращает ссылку на нужную вкладку. и можно например так узнать заголовок вкладки номер2
PageControl1.Pages[1].Caption
что бы какую то вкладку сделать активной, просто используем свойство PageControl1.ActivePageIndex.
Я думаю, в данном случае это будет самое простое решение.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Степанов Дмитрий (статус: Посетитель), 4 сентября 2010, 19:38 [#14]:
"что бы какую то вкладку сделать активной, просто используем свойство PageControl1.ActivePageIndex."
но вкладки с включения программы итак активны
попробовал так:
PageControl1 так у меня и называется PageControl1
PageControl1.Pages[0].visible:=false;
PageControl1.Pages[1].visible:=false;
PageControl1.Pages[2].visible:=false;
....;
PageControl1.Pages[N-1].visible:=false;
так как с самого начала , предположим что база пуста, а потом начинаем их показывать в зависимости от какого-то условия при заполнении базы
... что-то не то. Всеравно все показывает все вкладки
|
|
Степанов Дмитрий (статус: Посетитель), 4 сентября 2010, 20:05 [#15]:
или с самого начала не надо создавать эти вкладки. они сожет будут создаваться командой при нужном условии?и как тогда это изобразить???
допустим
<условие>
<команда добавления вкладки> - как будет выглядеть эта команда?
|
|
Вадим К (статус: Академик), 5 сентября 2010, 00:03 [#16]:
активной вкладкой в какой то момент времени может быть только одна вкладка. А две и более - никак. (на разных PageControl - может, но на одном - нет).
Видимая вкладка и видимый корешок вкладки - это разные вещи.
Создать новую вкладку просто.
ts:TTabSheet;
begin
ts:=TTabSheet.create(PageControl1);
ts.parent := PageControl1;
ts.caption := 'some text';
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|