晕死,怎么也搞不定,也是有关排序的问题
晕死啊,这里是adoquery的用法,若要用query的话,该怎么写啊??死都改不出来。救救啊。
最后一行adoquery1.sort该改成什么啊,
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
iFieldCount:Integer;
begin
//进行点击Title排序
for iFieldCount := 0 to DBGrid1.Columns.Count - 1 do
begin
if (Copy(DBGrid1.Columns[iFieldCount].Title.Caption,Length (DBGrid1.Columns[iFieldCount].Title.Caption)-1,2) = '▼ ') or (Copy(DBGrid1.Columns[iFieldCount].Title.Caption,Length(DBGrid1.Columns[iFieldCount].Title.Caption)-1,2) = '▲ ') then
begin
DBGrid1.Columns[iFieldCount].Title.Caption := Copy(DBGrid1.Columns[iFieldCount].Title.Caption,1,Length(DBGrid1.Columns[iFieldCount].Title.Caption)-3);
break;
end;
end;
if Column.FieldName = FSortField then
begin
if FSort = 'DESC ' then
FSort := 'ASC '
else
FSort := 'DESC ';
end
else begin
FSortField := Column.FieldName;
FSort := 'ASC ';
end;
if FSort = 'ASC ' then
Column.Title.Caption := Column.Title.Caption + ' ▲ '
else
Column.Title.Caption := Column.Title.Caption + ' ▼ ';
adoquery1.sort:= Column.FieldName + ' ' + FSort;
end;
[解决办法]
BDE不支持,需要自己写排序算法~@!
[解决办法]
如果不好用,强烈建议改成cxGrid,第三方空间,非常好用,系统自动带排序功能,各个字段都可以。
[解决办法]
可以试试DataSet,应该会支持你的语句:Column.FieldName + ' ' + FSort;