pb数据窗口光标对指定的行数据调整

2025-04-23 00:36:55
推荐回答(3个)
回答1:

可以在数据窗口的itemchanged里面写代码
比如在里面写:
messagebox('提示','有数据修改未保存,请保存')

这个时候只要用户修改了数据窗口未保存,会提示未保存,或者你可以在itemchanged事件写:dw_1.settransobject(sqlca)
dw_1.retrieve()
这个时候会重新刷新数据窗口

回答2:

直接在rowfocuschanged事件中,写this.retrieve(),就可以了。
rowfocuschanged表示光标换行之后触发。
那么,就是说,如果行变,不会执行retrieve,保存,没问题。
可是行转换之后,就会触发一次retrieve(),相当于每次换行,就会刷新数据窗口的内容。

回答3:

//定义局部变量
string is_old_data //原来数据
long il_row //原来行号
string is_col_name //原来列名

itemchanged里面写代码:
//取原来的数据
is_old_data=this.getitemstring(row,this.GetColumn())
is_col_name=dwo.name
il_row=row

rowfocuschanged事件中,写:
this.setitem(il_row,"'"+is_col_name+"'",is_old_data)
this.accepttext()