关于stringgrid 的使用(在线等待)(200分)

  • 主题发起人 主题发起人 seady
  • 开始时间 开始时间
S

seady

Unregistered / Unconfirmed
GUEST, unregistred user!
我有stringgrid1,stringgrid2,
现在我想把stinggrid1 的某行内容给stringgrid2,并把stringgrid1里该行的内容清除
又可以把stringgrid2的内容还给stringgrid1
 
說白了應是賦值與刪除的操作,以前的貼子有特別多
吃過飯再來
 
你用advStringGrid
 
这个很简单啊,不过可能我的算法比较白痴一点。

你可以响应StringGrid1.OnClick事件
然后代码如下:
for i:=0 to StringGrid2.RowCount-1 do
begin
if StringGrid2.cells[0,i]='' then break;
end;
for j:=0 to StringGrid1.ColCount-1 do
begin
StringGrid2.Cell[j,i] := StringGrid1.cells[j,StringGrid1.Selection.top];
end;

剩下的两个事件基本相同,你可以自已看看。
 
假设列数相同!!

交换 StringGrid1 的 n1 行
和 StringGrid2 的 n2 行 内容

procedure TForm1.Button1Click(Sender: TObject);
var
i,n1,n2:integer;
s:string;
begin
n1:=2;
n2:=3;
for i:=0 to StringGrid1.ColCount-1 do
begin
s:=StringGrid1.Cells[i,n1];
StringGrid1.Cells[i,n1]:=StringGrid2.Cells[i,n2];
StringGrid2.Cells[i,n2]:=s;
end;
end;
 
使用StringGrid2.Assign(StringGrid1);
 
向stringgrid末尾加入一行记录
stringgrid1.row:=stringgrid1.row+1;

移到最下一行:
stringgrid1.row:=stringgrid1.rowcount-1
賦值
for i:=0 to StringGrid1.ColCount-1 do
Stringgrid1.cells[StringGrid1.Col,StringGrid1.Row]:=Stringgrid2.cells[StringGrid2.Col,StringGrid2.Row];

將StringGrid2中的數據刪除:
for i:=stringgrid.row to stringgrid.rowcount-2 do
stringgrid.rows:=stringgrid.rows[i+1];
stringgrid.rowcount:=stringgrid.rowcount-1;

反之一樣
 
相互赋值!!!
自己动手!!!!
 
接受答案了.
 
后退
顶部