DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: pixelcraft
今日帖子: 55
在线用户: 15
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 xiangsong (天下第一菜) ★☆☆☆☆ -
盒子活跃会员
2003/6/6 8:24:39
标题:
关于dbgrid的问题 浏览:2494
加入我的收藏
楼主: 请教,如何在dbgrid控件里选中多行,然后通过循环来将之一起删除?
谢谢大家。
----------------------------------------------
天下第一菜

那一天我在街头踯躅
你在秋天里独自跳舞
回首落满悲欢的来时路
那覆水难收的赌注
我们用青春一起作证
我们曾遇见到幸福
作者:
男 workman (workman) ★☆☆☆☆ -
盒子活跃会员
2003/6/6 10:07:15
1楼: 设定dbgrid1.options中的dgmultiselect为true
删除:请参考以下这段代码 
procedure TForm1.Button1Click(Sender: TObject); 
var 
 i,j: Integer; 
begin 
 if DBGrid1.SelectedRows.Count>0 then 
 begin 
  with DBGrid1.DataSource.DataSet do 
  for i:=DBGrid1.SelectedRows.Count-1 downto 0 do 
  begin 
   GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i])); 
   delete; 
  end; 
 end; 
end; 


----------------------------------------------
-
作者:
男 xiangsong (天下第一菜) ★☆☆☆☆ -
盒子活跃会员
2003/6/6 11:18:47
2楼: 谢谢 workman 老兄的回答,可是我照这样写,程序出错说:table is a readonly
我用的是query组件,是不是和query组件有关系?还请指教。谢谢。
----------------------------------------------
天下第一菜

那一天我在街头踯躅
你在秋天里独自跳舞
回首落满悲欢的来时路
那覆水难收的赌注
我们用青春一起作证
我们曾遇见到幸福
作者:
男 avman ★☆☆☆☆ -
普通会员
2003/6/6 15:02:34
3楼: 你把dbgrid的readonly属性改为false
在删除后要记得把dbgrid.refresh一下
----------------------------------------------
我从迷茫中走来,希望能清晰地离去
作者:
女 ldyocean (ldyocean) ★☆☆☆☆ -
盒子活跃会员
2003/6/6 15:14:59
4楼: 好象跟dbgrid无关吧
如果是table,要把table的readonly设置为false
如果是query,要把query的***(靠,忘记了,自己找找看吧,boolean型,)属性设置一下,但是这里很危险,因为query可能是对几个表取的数据集,望回删除的时候比较危险。

原因:你用datasource连接数据集和dbgrid,事实上在对dbgrid操作的同时就是对数据库操作。也就是说你删除dbgrid的几行同时就在删除数据库的几条记录。

如果不想有这个结果,还是用stringgrid吧
----------------------------------------------
-
作者:
男 xiangsong (天下第一菜) ★☆☆☆☆ -
盒子活跃会员
2003/6/6 15:22:59
5楼: 不是的avman老兄,我首先将dbgrid的readonly属性改为的false,可是依然不行。
我想ldyocean说得对,我这个dbgrid组件是通过datasource组件和一个query组件联系起来的。我因为这里用的是query,是不是需要写sql语句来删除?可是我试着写时又有点糊涂了,因为要删除多项,这样就不能改动这个query组件的sql语句,难道还要再加上一个临时的query不成?
各位大虾,请帮我想一想,应该怎么删除?
----------------------------------------------
天下第一菜

那一天我在街头踯躅
你在秋天里独自跳舞
回首落满悲欢的来时路
那覆水难收的赌注
我们用青春一起作证
我们曾遇见到幸福
作者:
女 ldyocean (ldyocean) ★☆☆☆☆ -
盒子活跃会员
2003/6/6 15:27:10
6楼: 你到底是要删除显示内容,还是要删除数据记录?
删除显示内容建议使用stringgrid
删除数据记录,另外使用一个query,然后写sql语句,删除,然后把原来的query close然后open就行了
----------------------------------------------
-
作者:
男 xiangsong (天下第一菜) ★☆☆☆☆ -
盒子活跃会员
2003/6/6 15:46:20
7楼: 我是想删除库里的内容。明白了,谢谢ldyocean。看来真得再加一个query组件了。
----------------------------------------------
天下第一菜

那一天我在街头踯躅
你在秋天里独自跳舞
回首落满悲欢的来时路
那覆水难收的赌注
我们用青春一起作证
我们曾遇见到幸福
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS