程序一直用的好好的,忽然“打印”按钮不好使了,再怎么点它都是没反应。大家知道是怎么回事吗?
表中主键xh是自动标识列,数据类型是int型的。难道跟这个字段数据太大有关系?
“打印”按钮的代码如下,各位帮忙看看怎么回事。
int ret,li_rowcount
int li_beg,li_end,li_count_dw_2,li_row_insert,i
if dw_1.rowcount()=0 then return
dw_1.deleterow(m_xh)
li_beg=dw_1.getitemnumber(1,'xh')
li_end=dw_1.getitemnumber(dw_1.rowcount(),'xh')
//////////////////////////////////////不够五行的倍数插入空行
//////////////////////////////////////
datastore lda_ck_group
long ll_count
int j
string ls_ksbm,ls_lbb,ls_dycs
lda_ck_group=create datastore
lda_ck_group.dataobject='d_ck_group'
lda_ck_group.settransobject(sqlca)
lda_ck_group.retrieve(li_beg,li_end)
ll_count=lda_ck_group.rowcount()
if ll_count=0 then return
ulong job
job=printopen()
////////////////////////////////////////////////判断该序号之间有几次分组,根据分组循环检索出
////每个分组的记录条数,判断条数是否是8的倍数,不够插入空行,然后将数据窗口发送到打印机
for j=1 to ll_count
ls_ksbm=lda_ck_group.getitemstring(j,'ksbm')
dw_2.retrieve(ls_ksbm,li_beg,li_end)
dw_2.modify("czy_t.text='"+czy+"'")
////////////////////////////////////
/////////////////////////////////不够八行的倍数插入空行
li_count_dw_2=dw_2.rowcount()
li_row_insert=mod(li_count_dw_2,dyhs)
if li_row_insert<>0 then
for i=1 to (dyhs - li_row_insert)
dw_2.insertrow(0)
next
end if
next
printclose(job)
///////////////////////////////////////
dw_2.reset()
dw_1.reset()
cb_1.setfocus()
m_xh=0
sle_1.text=string(m_xh)