请问高手:我用access+ado,怎样实现在dbgrid的字段名上单击一下鼠标,下面所有的内容都按序排列呢?是不是dbgrid的一个什么titleclick事件?谢谢。
解决方案 »
- 关于IDFTP 下载整个文件夹及子文件夹的问题
- 新手问题~~用idftp能将本机文件“上传”到本机另外的地方吗??
- 如何得到ACTIVEXFORM里TWEBBROWSER里的HTML页面里的一个文本编辑框的HANDLE
- 关于远程连网传送文件的问题
- 来CSDN一年,最后半年都只在水园逛,几乎不来答题为什么我会这么无聊?谁能救救我
- 任务栏上为什么不显示?立即给分。
- 求救比较简单的问题!
- 多线程程序调用Free就会进入死循环?
- 求助!急
- 到哪里可以下载到JBuilder5
- 点击子窗口上的关闭按钮,为什么不能关闭子窗口呢?请问如何设。
- (急急急)使用flash控件播放swf文件时,如何让应用程序知道何时播放完毕
排序功能使用方法: 1、TDBGridEh的OptionsEh/SghAutoSortMarking属性设置为:True;
2、TDBGridEh.Columns[*]的Title/TitleButton属性设置为:True。
var
LLSort: Boolean;
procedure TfrmEnqHistByAccount.dbgReceBatchTitleClick(Column: TColumn);
begin
try
if LLSort then
begin
(dbgReceBatch.DataSource.DataSet as TCustomADODataSet).Sort := Column.FieldName + ' DESC';
LLSort := False;
end
else
begin
(dbgReceBatch.DataSource.DataSet as TCustomADODataSet).Sort := Column.FieldName + ' ASC';
LLSort := True;
end;
except end;
end;
试试吧
var orderby:boolean;//设置一变量以识别重复单击价格的排序
begin
case dbgrid1.selectefield of
query1名称:
begin
with query1 do
begin
close;
sql.clear;
sql.add('select 名称,规格,价格 from product');
sql.add(' order by 名称 ');
open;
end;
end;
query1规格:
begin
with query1 do
begin
close;
sql.clear;
sql.add('select 名称,规格,价格 from product');
sql.add(' order by 规格 ');
open;
end;
end;
query1价格:
begin
with query1 do
begin
if orderby=true then //为真时从小到大排序;
begin
close;
sql.clear;
sql.add('select 名称,规格,价格 from product');
sql.add(' order by 价格 ');
open;
orderby=false;
end
else
begin
close;
sql.clear;
sql.add('select 名称,规格,价格 from product');
sql.add(' order by 价格 desc');
open;
orderby=true;
end;
end;
end;
begin
query1.close;
query1.sql.clear;
query1.sql.add('select * from product');
query1.SQL.Add('order by '+column.FieldName);
query1.open;
end;或者用其它的控件