您的位置:首页 > 其它

分享一下,树形数据窗口双击那一层自动展开或收缩(数据窗口DoubleClicked事件中处理)

2011-09-18 15:41 337 查看
分享一下,树形数据窗口双击那一层自动展开或收缩(数据窗口DoubleClicked事件中处理)

//TreeView Datawindow 双击收缩

//双击那一层对象则自带收缩(不用去点 + / - )

string ls_dwProcessing,ls_band

//树型dw的展开收缩处理

ls_dwProcessing=this.describe('DataWindow.Processing')

If ls_dwProcessing='8' or ls_dwProcessing='9' Then

ls_band=this.describe(dwo.Name+".band")

//tree.level.1

//n_cst_string

If pos(ls_band,'tree.level.') >0 Then

n_cst_string lstr_c

string ls_parstr[],ls_bandrow[]

int li_level

long ll_row

lstr_c.of_parsetoarray(ls_band,'.',ls_parstr)//PFC 对象 把字串 分配成数组(也可以自行写)

If upperbound(ls_parstr[])>=3 Then

If isnumber(ls_parstr[3])Then

li_level=integer(ls_parstr[3])

//describe("evaluate(' first( getrow() for group 1 )',"+string(getrow())+")")

//describe("evaluate(' first( getrow() for group 1 )',"+first( getrow() for group 1 )+")")

//ll_row= this.getrow()//long(describe("evaluate(' first( getrow() for group "+string(li_level)+" )',compute_3)"))

//取双击的所在 band 的行

ls_band=GetBandAtPointer()

lstr_c.of_parsetoarray(ls_band,'~t',ls_bandrow)

If upperbound(ls_bandrow[])>=2 Then

ll_row=long(ls_bandrow[2])

If ll_row=0 Then ll_row= this.getrow()

Else

ll_row= this.getrow()

End If

If this.isexpanded( ll_row, li_level) Then

this.CollapseAllChildren(ll_row,li_level)

//this.CollapseAll()

Else

this.ExpandAllChildren(ll_row,li_level)

//this.ExpandAll()

End If

End If

End If

End If

End If
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐