grid类型数据窗口detail域的 height.autosize 属性的生效

在grid类型的数据窗口中,如果将detail域的autosize height属性勾选上,

假如当数据窗口中 列   A 的值为1时, 行高应该自动为 200, 而当列 A 的值为0时,行高应该自动为 100 。

但是在程序的实际运行过程中,如果你对原本列 A 的值为 0 的行执行以下语句:

dw_1.setitem(1, 'A', 1)
 

这个时候dw_1的第1行的行高并不会自动为 200 , 为什么呢?

因为 setitem 后该行中 A 列的数据虽然已经发生改变, 但是数据窗口的行结构信息并没有进行重绘。

你可能会想,有了,在 setitem 后面加上

dw_1.setredraw( true)

但是,实际情况是,加上了也无济其事。

正确的解决办法是,在 setitem 后:

//关键的地方
dw_1.rowsmove(row,row,primary!,dw_1,row,primary!) //row可以是dw_1中的任意有效行

或者:

//关键的地方
row = dw_1.insertrow( 0)
dw_1.deleterow(row)



 

你可能感兴趣的:(grid类型数据窗口detail域的 height.autosize 属性的生效)