PB 我用了一个定时器timer,定时检索datawindow,所以用dw_1.getrow()时,所选的行号总是1.

PB 我用了一个定时器timer,定时检索datawindow,所以用dw_1.getrow()时,所选的行号总是1.,第1张

看你想干什么了,比如你可以通过

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想整行选择需要如何设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10126582.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存