Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
1

Вывод в комбобокс дбгрида столбцов другой таблицы

21.12.2013, 03:23. Показов 962. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прочел очень много тем, но ответа так и не нашел, нужно чтобы в выпадающем списке дбгрида, отображалось 2 колонки, а при клике на строку состоящую из двух колонок в ячейке выбиралось только значение первого столбца. Что у меня вышло: (делал в 2 варианта результат один)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void __fastcall TForm1::DBGrid3CellClick(TColumn *Column)
{
  /*  int i;
    DataModule2->ADOTable4->First();
    for (i=0;i<DataModule2->ADOTable4->RecordCount;i++)
 {
      DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOTable4->FieldByName("ID")->Value);
      DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOTable4->FieldByName("Client")->Value);
      DataModule2->ADOTable4->Next();
 
 }  àëüòåðíàòèâíûé âàðèàíò âûâîäà 2 ñòîëáöîâ â îäíîì êîìáîáîêñå, íî åñëè ïèêíóòü êëèåíòà âûëåò ñ îøèáêîé*/
 DataModule2->ADOQuery2->SQL->Clear();
 DataModule2->ADOQuery2->SQL->Add("SELECT tblMain.[ID], tblMain.[Client] FROM tblMain;" );
 DataModule2->ADOQuery2->Active=true;
 DataModule2->ADOQuery2->Open();
 //ComboBox5->Items->Clear();
 for (int i=0; i<DataModule2->ADOQuery2->RecordCount; i++)
{
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"]);
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["Client"]);
//ComboBox5->Items->Add(DataModule2->ADOQuery2->FieldValues["ID"]);
DataModule2->ADOQuery2->Next();
}
DataModule2->ADOQuery2->Close();
}
вот как пашет мой код, и что нужно:
Миниатюры
Вывод в комбобокс дбгрида столбцов другой таблицы  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2013, 03:23
Ответы с готовыми решениями:

Вставка в комбобокс или текстбокс названия вместо ID из другой таблицы
Добрый день. Имеется 2 таблицы: Сотрудники с полями СотрудникИД, СотрудникИмя, ДолжностьИД и...

Вывод нескольких значений из таблицы БД в комбобокс
Господа, есть таблица, в которой хранятся данные о водителях. (DriverId, TabelNumber, FirstName,...

Заголовоки столбцов ДБГрида из чисел календаря
Добрый вечер! Помогите организовать вот такую схему отображения таблицы. При выборе определенного...

Создание временной таблицы,где ее название-переменная,названия столбцов-поля другой таблицы ..
Помогите,пож-ста,справиться со следующей проблемой. Есть главная таблица с полями:дата,игрок,время...

10
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
21.12.2013, 03:30  [ТС] 2
Есть идеи?
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
21.12.2013, 13:13 3
Цитата Сообщение от helsik Посмотреть сообщение
DBGrid3->Columns->Items[16]
А ты что хочешь чтобы только в 16 столбце выпадал комбобокс?
0
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
21.12.2013, 19:21  [ТС] 4
Цитата Сообщение от Sasha Посмотреть сообщение
А ты что хочешь чтобы только в 16 столбце выпадал комбобокс?
да именно там.
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
21.12.2013, 21:16 5
C++
1
2
3
4
5
6
7
8
9
10
11
 DataModule2->ADOQuery2->Close();
 DataModule2->ADOQuery2->SQL->Clear();
 DataModule2->ADOQuery2->SQL->Add("SELECT ID, Client FROM tblMain");
 DataModule2->ADOQuery2->Open();
  
  while(!DataModule2->ADOQuery2->Eof)
 {
  DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"] + " " + DataModule2->ADOQuery2->FieldValues["Client"]);
  DataModule2->ADOQuery2->Next();
 
 }
1
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
21.12.2013, 22:14  [ТС] 6
спасибо, но не пашет... вот такие ошибки:
Миниатюры
Вывод в комбобокс дбгрида столбцов другой таблицы  
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
21.12.2013, 22:32 7
C++
1
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"] +AnsiString(" ") + DataModule2->ADOQuery2->FieldValues["Client"]);
Добавлено через 2 минуты
или

C++
1
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"] + L" " + DataModule2->ADOQuery2->FieldValues["Client"]);


C++
1
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"] + UnicodeString(" ") + DataModule2->ADOQuery2->FieldValues["Client"]);
1
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
21.12.2013, 22:34  [ТС] 8
Цитата Сообщение от Sasha Посмотреть сообщение
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"] +AnsiString(" ") + DataModule2->ADOQuery2->FieldValues["Client"]);
спасибо, прога запустилась, но при клике куда-нибуть, вылетает такое окно:
Миниатюры
Вывод в комбобокс дбгрида столбцов другой таблицы  
0
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
21.12.2013, 22:36  [ТС] 9
Цитата Сообщение от Sasha Посмотреть сообщение
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"] + L" " + DataModule2->ADOQuery2->FieldValues["Client"]);
ошибки как тут:
Цитата Сообщение от helsik Посмотреть сообщение
спасибо, но не пашет... вот такие ошибки
Добавлено через 1 минуту
Цитата Сообщение от Sasha Посмотреть сообщение
1
DBGrid3->Columns->Items[16]->PickList->Add(DataModule2->ADOQuery2->FieldValues["ID"] + UnicodeString(" ") + DataModule2->ADOQuery2->FieldValues["Client"]);
а на этот код пишет ошибку:
[C++ Error] Unit1.cpp(155): E2268 Call to undefined function 'UnicodeString'
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
21.12.2013, 22:42 10
Цитата Сообщение от helsik Посмотреть сообщение
ошибки как тут:

Добавлено через 1 минуту

а на этот код пишет ошибку:
[C++ Error] Unit1.cpp(155): E2268 Call to undefined function 'UnicodeString'
Я просто думал что у тебя версия билдера не 6
1
12 / 12 / 3
Регистрация: 09.12.2013
Сообщений: 142
22.12.2013, 00:07  [ТС] 11
Sasha, огромное спасибо за помощь, во всяком случае теперь знаю, что не все так легко(как я думал..) а как в той проге(в которой я увидел эту фишку) вставляется в поле int в picklist два поля int и текст, наверно можно обьяснить каким-то левым компонентом, явно не простым dbgrid. Но буду рад если кто-то знает как это сделать:
Миниатюры
Вывод в комбобокс дбгрида столбцов другой таблицы  
0
22.12.2013, 00:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2013, 00:07
Помогаю со студенческими работами здесь

Вывод записей первой таблицы, которых нет во второй (таблицы отличаются набором столбцов и строк)
Есть таблица Недвижимость (код недвижимости, город, адрес, кол-во комнат, площадь) и есть таблица...

Вывод из ДБгрида в ексел
Помогите) В общем нужно вывести на 1 лист екселя следущее: тип прихода(квери-&gt;тэйбл), тип...

Заголовки столбцов из значений другой таблицы
Приветствую. sql, C#, windows forms Имеются несколько готовый таблиц......

Вывод таблицы, по значению другой таблицы связанной по вторичному ключу
работаю с таблицами в MySql, к ней пишу запросы. Важно однако чтобы эти запросы в итоге работали в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru