table属性中有个indexfieldname的,设置了就可以
解决方案 »
- 将一个C结构类型翻译成D.跪谢!
- 关于子窗体的问题
- DELPHI 2007都没解决的问题: 万恶的 DLL-4K 内存泄漏(转贴)
- 请问checkbox,radiobutton的ctl3d属性怎么无效?答对绝对给分
- ADO 数据导入的速度问题特急
- 就这么多分了,很小的问题,马上结
- 关于activex form 里包含数据源的问题!
- 急:如何用TFileStream和Tmemorystream读写流
- 新手第一次发帖,请求dxDBGrid的问题,急急急!谢谢各位大侠!
- 奇怪哦,DELPHI6里的MESSAGE少了?
- SOCKET传输除文本能打开,其他文件都打不开,各位老大,请帮忙解决一下!!
- 急!急!哪有install shield for c++ builder可以提供下载?急!急!
myTable.Sort:=myDBGrid.SelectedField.FieldName+' ASC';
//DBGrid.DataSource.DataSet is TClientDataSet*********************************
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure ClientDataSetOrder;
begin
TDBGrid(Column.Grid).Tag := TDBGrid(Column.Grid).Tag xor Round(Exp(Column.Index * Ln(2)));
with (TDBGrid(Column.Grid).DataSource.DataSet as TClientDataSet) do
begin
if Column.Field.DataType<ftAutoInc then
begin
if (TDBGrid(Column.Grid).Tag and Round(Exp(Ln(2) * Column.Index)))=0 then
begin
AddIndex(Column.FieldName + 'InxDES', Column.FieldName, [ixDescending]);
IndexName := Column.FieldName + 'InxDES';
Result := 2;
end else
begin
AddIndex(Column.FieldName + 'InxASC', Column.FieldName, []);
IndexName := Column.FieldName + 'InxASC';
Result := 1;
end;
end;
end;
end;