我找一段关于DBGrid标题排序的例子,不知这里面是不是对的,不明白
qryShow.Sort:=fieldname;
这一句中的qryshow是什么东西?初上手,如果问的可笑,就请你在开心的同时,帮帮我,好吗?(其中的bSort:Boolean,在FormShow的时候初始化)procedure TfmPlayVideo.DBGrid1TitleClick(Column: TColumn);
var
i:integer;
fieldname:string;
begin//排序
i:=Column.Index;
if bSort then
begin
fieldname:=DBGrid1.Columns[i].FieldName+' ASC';
bSort:=False;
end
else
begin
fieldname:=DBGrid1.Columns[i].FieldName+' DESC';
bSort:=True;
end;
qryShow.Sort:=fieldname;
end;
qryShow.Sort:=fieldname;
这一句中的qryshow是什么东西?初上手,如果问的可笑,就请你在开心的同时,帮帮我,好吗?(其中的bSort:Boolean,在FormShow的时候初始化)procedure TfmPlayVideo.DBGrid1TitleClick(Column: TColumn);
var
i:integer;
fieldname:string;
begin//排序
i:=Column.Index;
if bSort then
begin
fieldname:=DBGrid1.Columns[i].FieldName+' ASC';
bSort:=False;
end
else
begin
fieldname:=DBGrid1.Columns[i].FieldName+' DESC';
bSort:=True;
end;
qryShow.Sort:=fieldname;
end;
var
lastcolumn:integer;
temp:string;
qusp:tadoquery;
begin
lastcolumn:=dbgrid1.Columns.Count;
if column.Index<>int then
begin
if int<>100 then
dbgrid1.Columns[int].Title.Caption:=copy(dbgrid1.Columns[int].Title.Caption,1,length(dbgrid1.Columns[int].Title.Caption)-2);
if pos('↓',column.Title.Caption)>0 then
temp:=copy(column.Title.Caption,1,length(column.Title.Caption)-2);
if column.Index<>lastcolumn then
begin
int:=column.Index;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select top 100 * from product order by '+column.Title.Caption+' DESC');
adoquery1.ExecSQL;
adoquery1.Active:=true;
column.Title.Caption:=column.Title.Caption+'↓' ;
end ;
end;
//上面是測試好的代碼---------------------
end;
DataSet: TDataSet;
begin
{点击标题栏,排序}
DataSet := Column.Field.DataSet;
if DataSet is TCustomADODataSet then
with TCustomADODataSet(DataSet) do
begin
if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort) = 0) then
begin
Sort := Column.Field.FieldName + ' DESC';
end
else
begin
Sort := Column.Field.FieldName + ' ASC';
end;
end;
end;
Begin
ADOQuery1.Sort := Column.FieldName;
ADOquery1.Filtered := True;
End;
begin
if b then //b全局变量
begin
SortString:= Column.FieldName+ ' ASC';
b:=False;
end
else
begin
SortString:= Column.FieldName+ ' DESC';
b:=True;
end; TADODataSet(TDbGridEh(Sender).DataSource.DataSet).Sort:=SortString;
var SortString:String;
begin
if b then //b全局变量
begin
SortString:= Column.FieldName+ ' ASC';
b:=False;
end
else
begin
SortString:= Column.FieldName+ ' DESC';
b:=True;
end; TADODataSet(TDbGrid(Sender).DataSource.DataSet).Sort:=SortString;
end;