PB数据窗口中多行选中程序

首先定义窗口实例变量:
long il_LastSelectedRow = 1
然后开始编写多行选中程序。程序算法描述如下:
1、如果按下了Control键
 如果是在选中行上,取消该行
    否则,选中该行
 记录当前到窗口实例变量中
2、如果按下了Shift键
 取消所有选中行
 选中上次点击行和当前行之间的所有数据行
 记录当前到窗口实例变量中
3、如果没有按键
  如果点击行为选中行,不执行任何操作
  否则,取消所有选中行,选中当前行
  记录当前到窗口实例变量中
比如,我们在窗口dw_1的Clicked事件中编写该脚本,程序如下:
long ll_Start
long ll_End
long ll_index

if Row < 1 then return

if KeyDown(KeyControl!) then
if This.IsSelected(Row) then
This.SelectRow(Row,False)
else
This.SelectRow(Row,True)
end if
elseif 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_index = ll_Start to ll_End
This.SelectRow(ll_index,True)
next
else
if Not This.IsSelected(Row) then
This.SelectRow(0,False)
This.SelectRow(Row,True)
end if
end if

il_LastSelectedRow = Row

发布了29 篇原创文章 · 获赞 7 · 访问量 10万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章