Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.026 c
6-1088770726
MORA
2004-07-02 16:18
2004.09.05
передать файлЫ по TCP


1-1093075900
MaxN
2004-08-21 12:11
2004.09.05
QuickReport


11-1080324581
user
2004-03-26 21:09
2004.09.05
перестали срабатывать новодобавленные события


3-1092292238
REA
2004-08-12 10:30
2004.09.05
Буквы большие и маленькие


3-1092204839
SeZuka
2004-08-11 10:13
2004.09.05
Проблема с русскими именами пользователей в BDE