数据窗口中checkbox有时候点了却不打勾,是因为数据窗口的taborder值的问题,解决办法就是修改为0,代码控制完成。
数据窗口clicked事件
//在窗口的实例变量定义:long il_LastSelectedRow = 1
long ll_Start
long ll_End
long ll_index
long ll_selectrow
if Row < 1 then return
//if KeyDown(KeyControl!) then
// if This.IsSelected(Row) then
//// This.SelectRow(Row,False)
// This.object.ls_select[Row] = '0'
// else
//// This.SelectRow(Row,True)
// This.object.ls_select[Row] = '1'
// end if
if KeyDown(KeyShift!) then
if Row < il_LastSelectedRow then
ll_Start = Row
ll_End = il_LastSelectedRow
else
ll_Start = il_LastSelectedRow
ll_End = Row
end if
// This.SelectRow(0,False)
//取消所有选择
// For ll_selectrow = 1 to this.rowcount()
// This.object.ls_select[ll_selectrow] = '0'
// Next
//重新选择
For ll_index = ll_Start to ll_End
This.object.ls_select[ll_index] = '1'
next
else
if This.object.ls_select[Row] = '1' then
This.object.ls_select[Row] = '0'
else
This.object.ls_select[Row] = '1'
end if
// if Not This.IsSelected(Row) then
// This.SelectRow(0,False)
// This.object.ls_select[Row] = '0'
// This.SelectRow(Row,True)
// This.object.ls_select[Row] = '1'
// end if
end if
il_LastSelectedRow = Row
//带参数的自定义事件执行
cb_4.Trigger Event ue_selectcount('row_count')
//cb_4.TriggerEvent('ue_selectcount','row_count')
按钮cb_4自定义事件
//*********************************************************
// 调用:cb_4.Trigger Event ue_selectcount('row_count')
// 返回值类型:long
// 参数:ue_flag string
//
//*********************************************************
long ll_selectcount,ll_row
ll_selectcount = 0
For ll_row = 1 to dw_1.rowcount()
If dw_1.object.ls_select[ll_row] = '1' then
ll_selectcount += 1
// string ls_b5
// ls_b5 = dw_1.object.b_5[ll_row]
// messagebox('',ls_b5)
End if
Next
choose case ue_flag
case 'row_count'
sle_1.text = '符合条件的项目为:' +string(dw_1.rowcount()) + '条,选择打印:' + string(ll_selectcount) + '条'
// case 'row_print'
// sle_1.text = '系统打印进度:' + string(ll_selectount) + '/' + string(dw_1.rowcount()) + ',正在打印项目:' + ls_b5
end choose
return ll_selectcount