Консультация № 108794
10.11.2007, 12:28
0.00 руб.
0 1 1
Здраствуйте уважаемые эксперты, подскажите пожалуйста как вывести содержимое DBGrid в Stringgrid?

Обсуждение

Неизвестный
11.11.2007, 15:36
общий
это ответ
Здравствуйте, Спиваков Сергей Сергеевич!

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

Вот программная реализация:
<code>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; <font color=green>//растягивает объект на всю доступную облать вкладки</font>
ColCount:=tb_All.FieldCount; <font color=green>//устанавливаем нашей таблице количество столбцов = количеству полей</font>
RowCount:=tb_All.RecordCount+1; <font color=green>//количество строк</font>
FixedCols:=0; <font color=green>//количества фиксированных строк и столбцов</font>
FixedRows:=1;
end;
tb_All.First;
for i:=0 to tb_All.FieldCount-1 do <font color=green>//заполняем заголовок таблицы названиями полей</font>
StrGrid.Cells[i,0]:=tb_All.Fields[i].FieldName;
j:=1;
while not tb_All.Eof do <font color=green>//переносим все данные в наш объект</font>
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;</code>

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

Good Luck!!!
Форма ответа