如题?
解决方案 »
- 如何使edit每隔5秒显示memo中的一行??
- 如何在程序中嵌入和使用WINDOWS MEDIA PLAY控件(非自带TMedia Play控件)
- 问一下:如何将数据库一个字段的所有记录赋值到Stringlist中呢?
- webService的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 如此诠释的中国神话
- 能教小弟一点调试Hook程序的方法吗
- Delphi5 里面用到了 ADOTable.....等等,问题出现了
- 我的毕业论文的摘要(中英对照版),大家看看,提提意见吧
- 使用spcomm控件打开端口时出错“Error opening serial port”
- 用QUERY,+UpdateSql,在APPLYUPDATES时出错,Table is read only, 函数序列出错!,求救
- delphi7.0 中toolbar 中的toolbutton 的caption 属性
- 帮帮忙...问个关于 TServerSocket 和 TClientSocket 的问题...
private
FSort,FSortField:String;//控制grid排序
procedure TFrmMain.DBGrid1TitleClick(Column: TColumn);
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)-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 + ' ▼';
QryAdd.Sort:= Column.FieldName + ' ' + FSort;
end;
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
s:string;
begin
if ADOQuery1.Active = True then
begin
if DBGrid1.Tag =0 then
begin
ADOQuery1.Sort:=Column.FieldName+' ASC';
s:= Trim(Column.Title.Caption);
if (Pos('▽',s)>0) or (Pos('△',s)>0) then
s:=Copy(s,1,Length(s)-2);
Column.Title.Caption := Format('%s △', [Trim(s)]);
Column.Font.Color := clBlack;
DBGrid1.Tag:=1;
end
else
begin
ADOQuery1.Sort:=column.FieldName+' DESC';
s:= Trim(Column.Title.Caption);
if (Pos('▽',s)>0) or (Pos('△',s)>0) then
s:=Copy(s,1,Length(s)-2);
Column.Title.Caption := Format('%s ▽', [Trim(s)]);
Column.Font.Color := clGreen;
DBGrid1.Tag:=0;
end;
end;
end;
var i : integer;
begin
for i:= 1 to DBGrid1.Columns.Count do
begin
//恢复所有标题字体为默认
DBGrid1.Columns[i-1].Title.Font.Color := clWindowText;
DBGrid1.Columns[i-1].Title.Font.Style := [];
end;
if ADOQuery1.Sort<>(Column.FieldName+' ASC') then //判断原排序方式
begin
ADOQuery1.Sort := Column.FieldName+' ASC';
Column.Title.Font.Color := clRed; //改变标题行字体为红色,表示当前的排序方式为升序
Column.Title.Font.Style := [fsBold];
end
else begin
ADOQuery1.Sort := Column.FieldName+' DESC';
Column.Title.Font.Color := clBlue; //改变标题行字体为红色,表示当前的排序方式为降序
Column.Title.Font.Style := [fsBold];
end;
end;