各位,请帮忙,我对stringgrid不熟悉:
我用的是adoquery,stringgrid;我已经将数据库中的数据显示出来了,但是我不会编辑。我有三个按钮,增加,保存,当我分别点击它们的时候,分别增加、保存所有行;删除,删除当前行;谢谢了。
我用的是adoquery,stringgrid;我已经将数据库中的数据显示出来了,但是我不会编辑。我有三个按钮,增加,保存,当我分别点击它们的时候,分别增加、保存所有行;删除,删除当前行;谢谢了。
解决方案 »
- delphi7 + mysql5 dexpress 的port 设置
- 这个是什么,怎么使用,,,,,,
- 关于datediff函数的问题?
- 我想找些PP的图标,让软件做得漂亮些。但是我在网上搜索了一下,没有发现特别好的,能给点建议吗?
- ado+access
- Rave问题请教,请进!!!!!
- 我用if条件建立了一个模态窗口,问题是我关它时它又弹出了一个。如何让这个窗口只建立一次。
- 各位老师,请看下列需求该如何设计?
- 如何用memo显示选定的文本?
- 哪里有李维的关于ADO的书下载??
- 通过ADOQuery 查询数据后,怎么在stringGrid控件中显示出来?谢谢,
- 怎么将delphi2005 中的错误信息本地化???
否则你还要自己写添加删除保存如果非要自己写,那么用sql的insert, update, delete来完成
stringgird中还必须记录那个数据表的主关键字,方便找到记录。
// 删除TStringGrid类中指定行
procedure TForm1.DeleteRow(Row: Integer);
var i : integer;
begin
if (Row < StringGrid1.RowCount) and (Row > Stringgrid1.FixedRows-1) then
if Row < StringGrid1.RowCount - 1 then begin
for i := Row to StringGrid1.RowCount-1 do
StringGrid1.Rows[i] := StringGrid1.Rows[i+1];
StringGrid1.RowCount := StringGrid1.RowCount - 1;
end else
stringGrid1.Rows[Row].Clear;
end;procedure TForm1.BitBtn1Click(Sender: TObject);
var Sel : TGridRect;
begin
Sel := StringGrid1.Selection;
DeleteRow(Sel.Top);
end;
怎样把数据逐行上移呢? MaJun2K(日向葵)
我怎样把stringgrid中经过删除或者增加后的所有数据读出来,放入到数据库中呢?
如果你想添加一行就写到数据库的话,我建议你用dbgrid之类的控件,我觉得用stringgrid的好处就是可以批处理一些数据,好操作一些啊!
想不出来什么情况让你必须用StringGrid?
应该说DBGrid比StringGrid功能强大得多,
StringGrid能做的,DBGrid也应该能做。
或许你把你的具体需求写出来,更方便找到合理的解决方案。>怎样把数据逐行上移呢?
逐行上移其实就是让上一行的内容等于下一行的,然后循环到最后,把最后一条记录去掉。
stringGrid可以用row[]来整行移动,大概如下(未经过测试):
with STringGrid do
begin
for i:=要删除的行号 to RowCount-2 do
Row[i]:=Row[i+1] //上移一条记录
RowCount:=RowCount-1 //删除一行
end;>我怎样把stringgrid中经过删除或者增加后的所有数据读出来,放入到数据库中呢?
这个应该设置一个和stringgrid中的行/记录对应的标志数组,用来记录对该行的操作。
为了准确最好用主关键字来标记记录,比如记录删除了id=2的记录,修改了id=5的记录。
保存的时候直接删除,然后去stringGrid中搜索id=5的那一行,用update