我是用adoquery连的。里面的sql语句是动态的。我想在dbgrid中显示出来的记录中点一下,然后点一个删除按钮删除掉,数据库中的记录也是没有的。因为我现在点的删除并没有真正从库里删除记录,我不要这种效果。
而且如何单击一下,然后整条记录都可以用一种颜色(如红色)显出来呢?
请各位帮我下。最好详细些,因为呵呵水平不高啊
而且如何单击一下,然后整条记录都可以用一种颜色(如红色)显出来呢?
请各位帮我下。最好详细些,因为呵呵水平不高啊
解决方案 »
- 跪求大神:Tstringlist:DelimitedText处理UTF-8文件乱码
- delphi怎样实现单击treeview中的父节点,显示相应的子节点
- 如何用sql语句写:在一个表中,在fkjhny字段下fkbh字段只能出现一次
- 在线等待,请问在FastReport中如何动态设置主项数据的数据源为虚拟数据源跟记录记录数.
- 〓〓〓使用twebbrowser控件访问一个网页,会在ie的历史记录里保存曾经访问的网页地址,怎么去掉自动保存的历史记录?
- 在dephi7中如何使用IdUDPClient和IdUDPServer发送信息?很急!
- TStringGrid的使用 在线等待
- 窗口连接的问题
- 如何制作DELPHI应用程序的发布盘?
- 大家装过SelfAV这个控件么?请告诉我详细的安装方法。
- 计算问题?
- 路过的都进来看看哈~~~~~~~~~~~~~~~~~~~!!!
如果是删除DBGRID中的记录,可以在删除事件中用DBGRID的DATASOURCE这个例如datasource1.dataset.delete;
with adoquey1 do
begin
close;
sql.clear;
sql.add('delete from ab where id=:id');
parameters.parabyname('id').value:=
execsql;
end;
Options
--dgRowSelecte = true
删除
with DBGrid1.DataSource.DataSet do
begin
Delete;
end;
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
TDBGrid(Sender).Canvas.Font.Color:=clgreen;
if gdSelected in state then
SetBkColor(TDBGrid(Sender).canvas.handle,clred)
else
setbkcolor(TDBGrid(Sender).canvas.handle,clwhite);
TDBGrid(Sender).Canvas.TextRect(rect,0,0,field.AsString);
TDBGrid(Sender).Canvas.Textout(rect.Left,rect.Top,field.AsString);
end;
删除 取出ID列执行删除语句 然后重新打开Qry
begin
DBGrid1.Canvas.Brush.color := clRed;
end
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);