PB实现数据窗口中checkbox的点选

数据窗口中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
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tlammon/article/details/46831603
文章标签: 事件 控制 pb 代码
个人分类: PB
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

PB实现数据窗口中checkbox的点选

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭