9 / 9 / 10
Регистрация: 14.11.2012
Сообщений: 75
1
MySQL

Собрать StringGrid из двух DBGrid-ов

20.09.2015, 12:47. Показов 1217. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Имеется 2 DBGrid-а. Один из DBGrid-ов я копирую в StringGrid, кроме одной колонки. Эту колонку мне нужно заполнить из второго DBGrid-а, у которого есть поля name и id_item .Поле id_item есть и в первом DBGrid-е.
Из заполненного StringGrida я беру id_item и ищу его во втором DBGrid (методом locate).
Вопрос: как из найденной нужной строки второго DBGrid-а, скопировать в результирующий StringGrid соответствующее поле name?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2015, 12:47
Ответы с готовыми решениями:

Вывести данные из StringGrid-ов на двух формах в StringGrid на третьей форме
Помогите,не разбираюсь,только учусь:(:wall:...Вообщем,имеется программа с 3 формами. На первой из...

StringGrid и DBGrid. Очистка DBGrid.
А можно ли переносить данные из StringGrid в DBGrid? Или можно ли при открытии формы очищать...

DBGrid + StringGrid
Всем привет! Подскажите плз как скопировать выделенную стоку из DBGrid в StringGrid... подключается...

Из StringGrid в DbGrid
не получается вставить и StrToInt писал и на оборот и там AsString ставил ...не знаю короче я...

1
9 / 9 / 10
Регистрация: 14.11.2012
Сообщений: 75
21.09.2015, 17:39  [ТС] 2
Лучший ответ Сообщение было отмечено Peps как решение

Решение

Нашел решение!
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
DBGrid1->DataSource->DataSet->First(); // Устанавливаем фокус в начало таблицы
int i(0), j (0);
UnicodeString id;  //переменная айди, в которой буду перебирать значения из первого дбгрида, и который буду искать во втором
TLocateOptions Opts; //опция поиска
Opts.Clear();
Opts << loPartialKey;
 
 while(!Form1->ADOQuery1->Eof) 
 {
   for (i = 0; i < DBGrid1->Columns->Count - 1;i++) {
 
   //если колонка с айди (#3)
   if (i==2) {
     id= Form1->ADOQuery1->Fields->Fields[i]->AsString; //то записать текущее значение в переменную
     if (DBGrid2->DataSource->DataSet->Locate("id_item", id,Opts ))  //если нашел во втором дбгриде то
      StringGrid1->Cells[4][j] = DBGrid2->DataSource->DataSet->FieldValues["name"]; //записать соответствующее значение поле name в результирующий стринггрид (пятая колонка)
            }
     else  //значения остальных колонок записать как есть
      StringGrid1->Cells[i][j] = Form1->ADOQuery1->Fields->Fields[i]->AsString;
                                                    }
   Form1->ADOQuery1->Next();
   j++;
   
 }
Спасибо за внимание!
1
21.09.2015, 17:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2015, 17:39
Помогаю со студенческими работами здесь

DBGrid в StringGrid
Здравствуйте, подскажите пожалуйста... Ситуация такая: есть форма с базой данных,прописанной в...

Из двух dbgrid в один dbgrid
Здравствуйте! Помогите! делаю прогу связанную с БД, есть 2 dbgrid-да с разными таблицами, не...

Работа со stringgrid и dbgrid
На одной форме есть stringgrid и dbgrid(из этого дбгрида данные переносятся в стринггрид). Как...

StringGrid - Вывести в третью таблицу сумму двух элементов из первых двух
Здравствуйте, форумчане. Имеется 3 таблицы StringGrid. Каким образом можно вывести в третью таблицу...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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