先定义两个变量 private FSort,FSortField:String;//控制grid排序 var iFieldCount:Integer; begin //if not DBGrid1.Active then exit; //进行点击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)-2); 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+'▼'; adoq.Sort:= Column.FieldName+' '+FSort; end;COPY别人的,希望是你要的 呵呵
可是我正学着用Delphi2010,能用吗?用Delphi2010的画布不行吗?
dev的 dxdbgrid 直接就有排序功能 而且带有小三角
先定义两个变量
private
FSort,FSortField:String;//控制grid排序
var
iFieldCount:Integer;
begin
//if not DBGrid1.Active then exit; //进行点击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)-2);
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+'▼';
adoq.Sort:= Column.FieldName+' '+FSort;
end;COPY别人的,希望是你要的 呵呵
由其谢谢ganwendong大侠,您的代码我试试看看。读起来挺有意思的。还是想用画布!因为这一直是偶的弱项,总想试试!用第三方控件好像总是有点心理问题。