Родились сегодня:
lSemperFi


Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

391

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

379

Россия, Санкт-Петербург


ID: 401888

puporev

Профессор

215

Россия, Пермский край


ID: 400669

epimkin

Профессионал

111


ID: 405338

vovaromanov.jr

1-й класс

103


ID: 242862

Hunter7007

Мастер-Эксперт

29

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

25

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-27 22:16:01-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 108794

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Спиваков Сергей Сергеевич
Дата: 10.11.2007, 12:28 Консультация закрыта
Поступило ответов: 1

Здраствуйте уважаемые эксперты, подскажите пожалуйста как вывести содержимое DBGrid в Stringgrid?

Ответ # 193244 от Gh0stik
Здравствуйте, Спиваков Сергей Сергеевич!

На самом деле все достаточно просто Вы должны "пробежать" по всем записям таблицы БД подключенной с использование допустим TAdoConnection (у меня эта таблица имеет название tb_All), которая у Вас отображается в DBGrid и соответственно перенести их в Stringgrid.

Вот программная реализация:
var StrGrid:TStringGrid;
....
....
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
begin
StrGrid:=TStringGrid.Create(Self);
with StrGrid do
begin
Parent:=TabSheet4;
Align:=alClient; //растягивает объект на всю доступную облать вкладки
ColCount:=tb_All.FieldCount; //устанавливаем нашей таблице количество столбцов = количеству полей
RowCount:=tb_All.RecordCount+1; //количество строк
FixedCols:=0; //количества фиксированных строк и столбцов
FixedRows:=1;
end;
tb_All.First;
for i:=0 to tb_All.FieldCount-1 do //заполняем заголовок таблицы названиями полей
StrGrid.Cells[i,0]:=tb_All.Fields[i].FieldName;
j:=1;
while not tb_All.Eof do //переносим все данные в наш объект
begin
for i:=0 to tb_All.FieldCount-1 do
StrGrid.Cells[i,j]:=tb_All.Fields[i].AsString;
inc(j);
tb_All.Next;
end;
end;


Помоему расписал все достаточно подробно, ежели чАвО не понятно пишите постараюсь объяснить.

Good Luck!!!

Gh0stik

Посетитель
11.11.2007, 15:36
Мини-форум консультации # 108794
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

puporev

Профессор

Рейтинг: 215

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 162

Gluck

9-й класс

Рейтинг: 81

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0