제가 할려는게 그리드를 2개 만들어서
1번그리드 내용을 2번그리드로 옮기고 2번을 다시 1번으로 옮기는 방식으로 할려고 하거든요..
기본적으로
for문을 사용하여 1번 그리드 내용을 순차적으로 읽으면서
해당 row가 선택되어 있으면 이걸 1번그리드에서 삭제한 후 2번으로 옮기기요
Oknum := okGrid.RowCount;
for i := 1 to Oknum-1 do
begin
//slt에다가 해당 row의 선택여부를 넣어주면 되는데..^^; 안되네요..
if slt = 1 then
begin
LastRow := cancelGrid.RowCount;
cancelGrid.RowCount := LastRow;
cancelGrid.Cells[0,LastRow] := inttostr(LastRow);
cancelGrid.Cells[1,LastRow] := okGrid.Cells[1,i];
cancelGrid.Cells[2,LastRow] := okGrid.Cells[2,i];
cancelGrid.Cells[3,LastRow] := okGrid.Cells[3,i];
cancelGrid.Cells[4,LastRow] := okGrid.Cells[4,i];
cancelGrid.Cells[5,LastRow] := okGrid.Cells[5,i];
cancelGrid.Cells[6,LastRow] := okGrid.Cells[6,i];
DoEvents ;
end else
begin
//showmessage(okGrid.Cells[2,i]+'선택안함');
end;
slt := 0;
end;
이런식으로요.. 근데.. 현재 그리드의 row가 선택되어 있는지를 모르겠네요..
고수님들 알켜주세용..... 가능한지 안한지도 잘모르겠네요..
var i, j :Integer;
begin
for i := 1 to StringGrid1.ColCount - 1 do
begin
for j := 1 to StringGrid1.RowCount - 1 do
begin
if(j = StringGrid1.Row) then
StringGrid2.Cells[i,j] := StringGrid1.Cells[i,j];
end;
end;
end;