Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.05 c
3-1092330335
сергей1
2004-08-12 21:05
2004.09.05
drop table


14-1092679960
F3nix
2004-08-16 22:12
2004.09.05
Программа подсчета необходимости покупки


1-1092677011
AlexZ
2004-08-16 21:23
2004.09.05
external variable | {$L MyFile.obj}


4-1090394673
Andry
2004-07-21 11:24
2004.09.05
Как открыть файл?


1-1092750520
shc
2004-08-17 17:48
2004.09.05
Переопределение методов свойсв объекта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский