小弟我写的通用函数dw自动补空行,dw在有sort条件时,空行顺序不对

我写的通用函数dw自动补空行,dw在有sort条件时,空行顺序不对
自动补空行通用函数当dw无sort时工作很好,有sort条件时就不对了。
下面代码中 
//dw_dy.setsort('') //加上这2句时排列顺序会杂乱无规律,不加时空行可能排到第1页最上面
//dw_dy.sort()
所以目前只能在sql数据源中去排序,dw的sort条件不能设置。设置了行的排序就有问题,求解决方法。目的就是达到通用
C/C++ code

global type gf_dw_bkonghang from function_object
end type

forward prototypes
global function integer gf_dw_bkonghang (datawindow dw_dy, integer ilx)
end prototypes

global function integer gf_dw_bkonghang (datawindow dw_dy, integer ilx);Long pages,ll_pagerow = 0,ll_row = 0,i
String s_gs,zd_val,zd_mc
zd_mc = "pageCount()"
 s_gs = "evaluate('"+zd_mc+"',"+String(i)+")"
dw_dy.Modify("datawindow.print.preview=yes")
dw_dy.Modify("datawindow.print.preview.rulers=yes")
//dw_dy.setsort('') //加上这2句时排列顺序会杂乱无规律,不加时空行可能排到第1页最上面
//dw_dy.sort()
 If dw_dy.RowCount() = 0 Then
    pages = 1
Else
    zd_val = dw_dy.Describe(s_gs)
    pages = Long(zd_val) //pageCount()    
End If
Do Until ll_pagerow > pages
    ll_row =     dw_dy.InsertRow(0)
    zd_val = dw_dy.Describe(s_gs)
    ll_pagerow = Long(zd_val) //pageCount()             
Loop
dw_dy.DeleteRow(dw_dy.RowCount())
Return 1

end function





------解决方案--------------------
测试了一下,没有发现你说的问题

另外
dw_dy.setsort('')
dw_dy.sort()
的作用是什么
------解决方案--------------------
你调用gf_dw_bkonghang_dc后,还对复合数据窗口进行什么操作
------解决方案--------------------
我这边再怎么弄都是好的,要不要远程看一下
------解决方案--------------------
dw_dy.setsort('') //加上这2句时排列顺序会杂乱无规律,不加时空行可能排到第1页最上面
dw_dy.sort()
dw_dy.groupcalc()//加上这一句试试