
看你想干什么了,比如你可以通过
dw_1rowcount()获取dw的行数
通过find找到指定行
需求不同,使用的函数不同
如果你就是想选择当前行的行号,用getrow是正确的
但是每次timer时,你是否对dw做什么 *** 作了,比如retrieve之类的,导致当前行变化了?一般如果没有点选 *** 作,默认是第一行
is_modify=true //将boolean类型变量is_modify赋值为true
dw_1selectrow(0,false)//不选中任何行
string setting
setting = dw_1ObjectDataWindowReadOnly//获取dw_1的只读属性
dw_1ObjectDataWindowReadOnly="no"//将DW_1的只读属性设为‘NO’ 也就是让DW_1可以被 *** 作
setting = dw_1Describe("DataWindowReadOnly")//获取dw_1的只读属性 这2句和上面2句效果相同!无意义
dw_1Modify("DataWindowReadOnly=no")//将DW_1的只读属性设为‘NO’ 也就是让DW_1可以被 *** 作
int li_row
li_row = dw_1insertrow(0)//dw_1插入一行,并将行号用li_row记录下来
if li_row > 0 then
dw_1scrolltorow(li_row) //将当前行滚动到新插入的行
dw_1setrow(li_row) //将新插入的行设置为当前行
dw_1setfocus() //dw_1获取焦点
//dw_1setcolumn( 'ip1 ')
end if
求采纳!
例如数据窗口叫dw_1,在数据窗口的clicked事件中添加以下代码:
if row <= 0 then return
setrow(row)
dw_1SelectRow(0, false)
dw_1SelectRow(row, true)
--------------
这是因为该列的taborder设成0了,为了去除黑色,可以取消选择dw属性中的Mosue Selection属性,这样点选的单元格就没有黑色了,然后用上述代码,模拟选择整行,上述代码中由于匆忙所以写错了,最后一句应该改为dw_1SelectRow(row, true)
设计界面截个图发一下。
是哪个控件的doubleclicked 事件,datawindow
messagebox('',ls_print)改成
messagebox('',string(getrow())+'~r~n'+ls_print)
看看,getrow()是不是正常获取行号了。
dw_1setrow(10) //当前行切换到第10行
dw_1selectrow(0,false) //取消全部高亮显示
dw_1selectrow(1,true) //高亮显示第10行
在数据窗口的clicked事件中添加以下代码:
if row > 0 then
setrow(row)
SelectRow(0, false)
SelectRow(row, TRUE)
end if
以上就是关于PB 我用了一个定时器timer,定时检索datawindow,所以用dw_1.getrow()时,所选的行号总是1.全部的内容,包括:PB 我用了一个定时器timer,定时检索datawindow,所以用dw_1.getrow()时,所选的行号总是1.、pb每行源码的解释,例如 selectrow()、PB想整行选择需要如何设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)