Dbgrid的全部选中和全部删除按钮(100分)

  • 主题发起人 主题发起人 linger_2
  • 开始时间 开始时间
L

linger_2

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做两个按钮,全部选中Dbgrid的数据,然后点击全部删除则全部记录被从数据库内删除,请问该如何实现?
有没有现成的代码可以copy一下啊?[:D]
 
你可以不用全部选中DBGrid的数据.
你可以用Delete from TableName就可以删除所记录.
 
如果是删除的话,要从数据库里把资料清空就可以了。
 
用一个循环把选中的记录delete不就得啦!
 
2:
procedure TForm1.Button1Click(Sender: TObject);
begin
with DBGrid1.DataSource.DataSet do
begin
DisableControls;
First;
while not Eof do
begin
Delete;
end;
EnableControls;
end;
end;
 
选择全部按钮用循环把DBGrid的Selected状态设为True.
删除按钮则去删除数据表
 
同意Blue_morning,不过要设multiselected:=true;
 
zhihuali, 你的代码为什么在我这里不能运行呢?
bluemorning,我不是删除表而是清空表内的数据
 
我刚试了一下,是可以的,不过可能你是用 QUERY 吧,如果是这样,
要把 RequestLive:=True;同时在QUERY查询中也有一些限制,比如不能
用 GROUP BY,ORDER BY 等等。
 
table1.empty;
 
这样不好,大家想,如果当前只显示了10条,而我只想删除这10条的话,大家的见意就不对了,
用这个办法,dbgrid.selectrows方法,很好用,就是一个Tbookmark,
先让当前显示的加进selectrows,然后就可以删除一,你看一下selectrows的help吧!有例子。
 
恩,我还想做一个全部选中的按钮该如何实现呢?
 
use Ehlib 's DBGridEh
 
哪位仁兄可以说的详细一点啊?
555,我听的是云里雾里啊
 
用ip的 wwdbgrid,
先加一个整型的计算字段如 selected,
把指向wwdbgrid的数据集打开,
然后双击wwdbgrid,在Selected Files 中选中 selected 字段,点击 Edit Contorl页面,
选择CheckBox,在把下面的yes改为1 no 改委0

最后写事件:---全选
procedure TForm1.Button1Click(Sender: TObject);
begin
wwdbgrid1.SelectedList.clear;
wwdbgrid1.SelectAll;
end;
 
要全部删除更简单,
Query1.sql.Clear;
Query1.sql.Add('delect 表名');
Query1.ExecSQL;
 
接受答案了.
 
后退
顶部