用表格文档表现,就需要写代码来实现,步骤:
1、设置数据集以分组字段进行排序,
2、在数据集上增加一个临时字段,用来显示排序号,
3、循环数据集,判断下一个记录的排序字段的值跟前面一条一样,如果不一样,序号从1开始,如果一样,序号加1(代码写在哪里需要根据你的业务需求了,如果数据一次性全取,且不进行然后过滤,那么可以写在数据集的AfterOpen,如果要进行过滤,那么过滤后,还需要执行这段代码)
参考代码
var
i,j:integer;
lStr:String;
begin
DataSetBroker1.DataSet.First;
j := 1;
DataSetBroker1.DataSet.DisableControls;
for i:=0 to DataSetBroker1.DataSet.RecordCount-1 do
begin
lStr := DataSetBroker1.DataSet.FieldbyName('ID').AsString;
DataSetBroker1.DataSet.Edit;
DataSetBroker1.DataSet.FieldbyName('LSZD').AsInteger := j;
DataSetBroker1.DataSet.next;
if lStr = DataSetBroker1.DataSet.FieldbyName('ID').AsString then
j:=j+1
else
j:=1;
end;
DataSetBroker1.DataSet.EnableControls;
end;