①删除行(当前行) procedure TForm1.Button1Click(Sender: TObject); var i: Integer; st: TStringList; begin st := TStringList.Create; for i:=0 to StringGrid1.ColCount-1 do begin st.Assign(StringGrid1.Cols[i]); st.Delete(StringGrid1.Row); StringGrid1.Cols[i].Assign(st); end; StringGrid1.RowCount := StringGrid1.RowCount-1; st.Free; end;②插入 最簡単的放入最後一行或参考上例 StringGrid1.Cells[0,StringGrid1.RowCount+1]; ...
例如删除行:你首先判断删除哪一行,然后从数据库里面把这条记录删除,然后你把stringgrid重写一遍。当然其中还有一些方法,比如删除行时并不真正删除,只是把这一行隐藏起来,使高度为-1, 然后等用户离开的时候把所有行高为-1的记录都从数据库里面删除。至于第二个问题,我想你用google搜一下也有很多阿
第二:你可以下载一个组件大全来看看。
网上有下,搜一下吧。
我这里也有,不过比较大,34M。
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
st: TStringList;
begin
st := TStringList.Create;
for i:=0 to StringGrid1.ColCount-1 do begin
st.Assign(StringGrid1.Cols[i]);
st.Delete(StringGrid1.Row);
StringGrid1.Cols[i].Assign(st);
end;
StringGrid1.RowCount := StringGrid1.RowCount-1;
st.Free;
end;②插入
最簡単的放入最後一行或参考上例
StringGrid1.Cells[0,StringGrid1.RowCount+1];
...