Topic: Все текущие данные из Grid в Memo

Здравствуйте. Подскажите, как можно скопировать все текущие данные из grida в memo? Там у меня порядка 5-10 строк и 3-5 столбцов с данными?
Спасибо.

надо идти вперёд....

Re: Все текущие данные из Grid в Memo

Здравствуйте.


Можете сделать этого с помощью скрипта

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    iRow, iCol: integer;
    s: string;
begin
    for iRow := 0 to Form1.TableGrid1.RowCount-1 do
    begin
        s := '';
        for iCol := 0 to Form1.TableGrid1.Columns.Count-2 do
        begin
            s := s + Form1.TableGrid1.Cells[iCol,iRow] + ' | ';
        end;
        Form1.Memo1.Lines.Add(s);
    end;
end;
Dmitry.

3 (edited by kovalenko 2017-05-31 08:28:55)

Re: Все текущие данные из Grid в Memo

DriveSoft wrote:

Здравствуйте.


Можете сделать этого с помощью скрипта

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    iRow, iCol: integer;
    s: string;
begin
    for iRow := 0 to Form1.TableGrid1.RowCount-1 do
    begin
        s := '';
        for iCol := 0 to Form1.TableGrid1.Columns.Count-2 do
        begin
            s := s + Form1.TableGrid1.Cells[iCol,iRow] + ' | ';
        end;
        Form1.Memo1.Lines.Add(s);
    end;
end;

Дмитрий спасибо, всё работает. Если можно, ещё один вопрос. Что добавить в этот скрипт, что бы в поле Memo2 переносились из TableGrid1 все данные только из первого столбца, например все существующие "наименование". Т.е в Memo1 переносятся все данные из TableGrid1, а в Memo2 только из первого столбца/колонки.
Спасибо.

надо идти вперёд....

Re: Все текущие данные из Grid в Memo

kovalenko

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    iRow, iCol: integer;
    s: string;
begin
    for iRow := 0 to Form1.TableGrid1.RowCount-1 do
    begin
        s := '';
        for iCol := 0 to Form1.TableGrid1.Columns.Count-2 do
        begin
            s := s + Form1.TableGrid1.Cells[iCol,iRow] + ' | ';
            if iCol = 0 then Form1.Memo2.Lines.Add(s);
        end;
        Form1.Memo1.Lines.Add(s);
    end;
end;
Dmitry.

5 (edited by kovalenko 2017-05-31 14:00:31)

Re: Все текущие данные из Grid в Memo

DriveSoft wrote:

kovalenko

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    iRow, iCol: integer;
    s: string;
begin
    for iRow := 0 to Form1.TableGrid1.RowCount-1 do
    begin
        s := '';
        for iCol := 0 to Form1.TableGrid1.Columns.Count-2 do
        begin
            s := s + Form1.TableGrid1.Cells[iCol,iRow] + ' | ';
            if iCol = 0 then Form1.Memo2.Lines.Add(s);
        end;
        Form1.Memo1.Lines.Add(s);
    end;
end;

СПАСИБИЩЕ!!!!

Дмитрий, маленький вопрос в догонку. Есть в скрипте разделительный значок ' | ', его можно как-то убрать из поля Memo2, а то идет наименование и после него ' | ' . Т.е в Memo1 он позволяет разделить несколько слов, а в  Memo2 явно лишний. Спасибо.

надо идти вперёд....

Re: Все текущие данные из Grid в Memo

Вместо этой строки

if iCol = 0 then Form1.Memo2.Lines.Add(s);

напишите

if iCol = 0 then Form1.Memo2.Lines.Add(Form1.TableGrid1.Cells[iCol,iRow]);
Dmitry.

Re: Все текущие данные из Grid в Memo

DriveSoft wrote:

Вместо этой строки

if iCol = 0 then Form1.Memo2.Lines.Add(s);

напишите

if iCol = 0 then Form1.Memo2.Lines.Add(Form1.TableGrid1.Cells[iCol,iRow]);

СПАСИБО ЕЩЁ РАЗ!!!

надо идти вперёд....