Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизComboBox в DBGrid Найти похожие ветки
← →
natasha © (2004-08-10 13:46) [0]Скажите, чтобы сделать выпадающий список в поле таблицы dbgrig, обязательно делать таблицу редактируемой? Мне нужны эти списки не для выбора, а просто для отображения информации, например, для каждого человека таким образом можно посмотреть его профессии.
← →
natasha © (2004-08-10 13:46) [1]имелось ввиду dbgrid :)
← →
Sergey13 © (2004-08-10 13:48) [2]2natasha © (10.08.04 13:46)
ИМХО, ты че то не то делаешь. Да и грид не таблица, а сетка в которой показывается таблица.
← →
natasha © (2004-08-10 13:51) [3]Нет, с гридом у меня всё в порядке. Работает. Только не знаю, как выпадающий список сделать правильно.
← →
Sergey13 © (2004-08-10 13:58) [4]2natasha © (10.08.04 13:51)
>Только не знаю, как выпадающий список сделать правильно.
Выпадающий список обычно делают когда отношение один-много. А у тебя получается как много-много. Т.е. много людей имеют по несколько профессий. ИМХО не самый лучший способ показывать это комбобоксом.
Или я тебя не совсем понял?
← →
Ильш © (2004-08-10 13:59) [5]а ты попробуй сделать и узнаешь обязательно или нет :) !
← →
natasha © (2004-08-10 14:01) [6]В моей базе данных есть талица, которая связывает людей с профессиями, т.е., одна запись содержит ид человека и ид профессии. Поэтому много ко много вроде нет...
← →
natasha © (2004-08-10 14:03) [7]Ильш, я пробовала! Ничего не получилось. Он не рисует. Я просто, наверное, неправильно понимаю, как это сделать. :)
← →
Ильш © (2004-08-10 14:04) [8]а выпадающий список в поле таблицы разве вообще есть в стандартном гриде???
← →
Соловьев © (2004-08-10 14:05) [9]создать в наборе данных сотрудников лукап поле - где вывести текст профессси
← →
natasha © (2004-08-10 14:07) [10]Есть. В help"е написано, только help у меня плохой, никаких примеров. По примерам ведь легче разбираться.
← →
Sergey13 © (2004-08-10 14:08) [11]2[6] natasha © (10.08.04 14:01)
Я имел в виду не организацию таблиц (тут вроде правильно), а смысл отношений. Для каждого чела в гриде по твоей логике должны быть разные выпадающие списки.
← →
natasha © (2004-08-10 14:08) [12]Ладно, я пошла дальше думать. Спасибо за участие! :)
← →
natasha © (2004-08-10 14:10) [13]To Sergey: Да, разные. Поэтому я и не знаю, как правильно это сделать. Для каждого свой запрос писать?
← →
Sergey13 © (2004-08-10 14:13) [14]2[13] natasha © (10.08.04 14:10)
>Для каждого свой запрос писать?
Запрос один с параметром (ид человека). А вывод куда угодно - хошь рядом с гридом хошь на другой форме.
← →
roottim © (2004-08-10 14:14) [15]Мне нужны эти списки не для выбора, а просто для отображения информацииесли хочется едино.. то это DevExpress MaterView
если стандартными, то использовать соыместно с грид 2-й дбконтрол, например второй грид :)
← →
natasha © (2004-08-10 14:16) [16]Эх, попробую разобраться. Спасибо!
← →
natasha © (2004-08-10 14:20) [17]To Sergey:
> А вывод куда угодно - хошь рядом с гридом хошь на другой форме.
На самом деле, я тоже не понимаю, зачем это. Рядом с гридом всё у меня выводится, т.е, щелкаешь на человеке в гриде и внизу отображается вся информация о нём. Но те, кому я это делаю, хотят, чтобы в гриде тоже это было. Ужас. :) Ладно, Спасибо всем!
← →
Соловьев © (2004-08-10 14:22) [18]2 наташа [9]
← →
Sergey13 © (2004-08-10 14:27) [19]2[17] natasha © (10.08.04 14:20)
>Но те, кому я это делаю, хотят, чтобы в гриде тоже это было. Ужас. :)
Да уж. А что значит "то же было", если для просмотра все равно надо тыкать в поле и открывать список.
2[18] Соловьев © (10.08.04 14:22)
Это не то.
← →
natasha © (2004-08-10 14:31) [20]To Sergey:
Да, вы правы, надо их отговорить. Не подумала. :)
← →
Соловьев © (2004-08-10 14:35) [21]
> Это не то.
а как тогда это понять?
> моей базе данных есть талица, которая связывает людей с
> профессиями, т.е., одна запись содержит ид человека и ид
> профессии.
← →
roottim © (2004-08-10 14:46) [22]
person (id_person, name)
profession (id_prof, name)
person_professions(id_person, id_prof)
помоему все ясно
ну если найдете халявно это, то тоже можноо... но не советую
http://www.devexpress.com/?section=/products/vcl/exmasterview
← →
Соловьев © (2004-08-10 14:51) [23]
> person_professions(id_person, id_prof)
т.е. и директор и уборщица в одном лице? а такое бывает?
← →
roottim © (2004-08-10 15:00) [24]директор, уборщица - это должность
а профессий у тебя может быть много :))
> т.е. и директор и уборщица в одном лице? а такое бывает?
бывает, это называется по совместительству.
← →
_student (2004-08-10 15:55) [25]Может подойдёт?
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if(gdfocused in state)then
begin
if DataCol=1 then
begin
ComboBox1.Left:=Rect.Left+DBGrid1.Left+2;
ComboBox1.Top:=Rect.Top+DBGrid1.Top+2;
ComboBox1.Width:=Rect.Right-Rect.Left;
ComboBox1.Visible:=true;
exit;
end;
end;
end;
Сильно не смейтесь
← →
Соловьев © (2004-08-10 16:06) [26]
> Сильно не смейтесь
вам следует почитать - http://www.delphikingdom.com/asp/viewitem.asp?catalogid=806
← →
_student (2004-08-10 16:13) [27]Классная статья!!! Спасибочки.
← →
natasha © (2004-08-10 16:19) [28]To _student:
Это решение очень оригинально. Только число этих combobox"ов может быть и тысяча... :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.032 c