想写一个只对title起作用的双击事件dbgrid,,

yudechibang88 2009-05-27 09:13:30
多谢各位了。。。。
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yudechibang88 2009-06-09
  • 打赏
  • 举报
回复
已经解决,使用全局变量解决的。
haitao 2009-05-27
  • 打赏
  • 举报
回复
在鼠标down和up事件里记住坐标
在dblclick事件里比较坐标位置是否属于title
gxgyj 2009-05-27
  • 打赏
  • 举报
回复
定义一个过程:
procedure SortTitle(TAQ:TADOQuery;RG:TRzDBGrid;col:TColumn);//RZGRID排序


procedure TForm_yyxx.SortTitle(TAQ: TADOQuery; RG: TRZDBGrid; col: TColumn);
begin
try
if (Not TAQ.Active) or (TAQ.RecordCount=0) then exit;
if Pos('ASC',string(TAQ.sort))=0 then
TAQ.Sort :=col.fieldname + ' ASC'
else
TAQ.Sort := col.fieldname + ' DESC';
except
exit;
end;
end;


调用:
procedure TForm_yyxx.RzDBGrid1TitleClick(Column: TColumn);
begin
SortTitle(TADOQuery(RzDBGrid1.DataSource.DataSet),RzDBGrid1,column);
end;
lishan200012 2009-05-27
  • 打赏
  • 举报
回复

public
plorder:boolean;

补充
lishan200012 2009-05-27
  • 打赏
  • 举报
回复

procedure TDlgK3t_icitemForm.DBGrid1TitleClick(Column: TColumn);
begin
if adoquery1.State=dsbrowse then
begin
if blOrder then
begin
ADOQuery1.Sort := Column.FieldName + ' ASC';
dbgrid1.Columns[Column.Field.FieldNo-1].Title.Caption:=Column.FieldName+ '△';
blOrder:=false;
end
else
begin
ADOQuery1.Sort := Column.FieldName + ' DESC';
blOrder:=true;
dbgrid1.Columns[Column.Field.FieldNo-1].Title.Caption:=Column.FieldName+ '▽';
end;
end;
end;

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧