请问为什么GROUP的DW删除的行不能被还原?
我的DW是GROUP类型的,
删除代码如下:
long row = 0
row = dw_1.getRow ()
if row <= 0 or row > dw_1.rowCount () then
dw_1.setfocus ()
return
end if
//删除到 delete! 缓冲区
dw_1.deleteRow (row)
//记录下删除行的行号
il_index ++
il_del_row[il_index] = row
cb_undo.enabled = true
dw_1.setfocus ()
还原代码如下:
//撤消“不打印行”操作(删除在DELETE!缓冲区的),撤消最近一次的操作
int li_ret = 0
li_ret = dw_1.RowsMove(dw_1.DeletedCount(), dw_1.DeletedCount(), &
Delete!,dw_1, il_del_row[il_index], Primary!)
if li_ret <> 1 then
messagebox ("提示信息", "撤消失败,可以使用“刷新”按钮恢复所有的行!",stopSign!)
goto XXX // 不高亮度显示撤消的行
end if
long ll_temp //撤消的行设置为当前行,并高亮度显示
ll_temp = il_del_row[il_index]
dw_1.setRow (ll_temp)
dw_1.selectRow (0, false)
dw_1.selectRow (ll_temp, true)
dw_1.scrollToRow (ll_temp)
dw_1.setfocus()
XXX:
il_index --
//如果删除缓冲区已经空,则撤消按钮不可用
if il_index <= 0 then //dw_1.DeletedCount() <= 0 then
this.enabled = false
end if
其中定义了INSTANCE VARIBLES:
long il_del_row [] //删除的行在DW中的行号
long il_index = 0 //il_del_row的索引号
这是一个自定义的可见用户对象上的,如果DW类型是其他的就没问题(如TABLUAR、GRID等)