UniDBGrid 列排序

发布时间 2024-01-07 16:28:29作者: 月如无恨月常圆

UniDBGrid 列排序

  1. 把需要排序的列的属性Sortable设置为True (需要把几个列排序,就设置几个)
  2. 编写 UniDBGrid 的 onColumnSort 事件
  3. 事件代码参考如下:
    用不同的数据库查询控件写法有所区别,主要是不同控件的属性名称不太一样,下面是 ADOQuery 控件的写法:
procedure TMainForm.UniDBGrid1ColumnSort(Column: TUniDBGridColumn;
  Direction: Boolean);
begin
  if Direction then   ADOQuery1.Sort := Column.FieldName + ' ASC'
     else  ADOQuery1.Sort := Column.FieldName + ' DESC' ;
end;

下面是 UniQuery 控件的写法:

procedure TMainForm.UniDBGrid1ColumnSort(Column: TUniDBGridColumn;
  Direction: Boolean);
begin
  if Direction then   UniQuery1.IndexFieldNames := Column.FieldName + ' ASC'
     else  UniQuery1.IndexFieldNames := Column.FieldName + ' DESC' ;
end;

注意: ' ASC'中的ASC前面要有空格