分享一下,树形数据窗口双击那一层自动展开或收缩(数据窗口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
//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
相关文章推荐
- 以申购单为实例,讲解Jquery动态删减行,新增行添加鼠标事件,子窗口与父窗口传值,自动计算金额,及输入值的验证,前台数据批量提交到后台action
- 利用事件自动处理程序从网上批量下载指定数据
- VS2010不能添加变量 双击不能添加处理事件 以及如何添加窗口系统事件
- 用代码触发数据窗口的双击事件
- SQL树形数据的处理
- 216-----xml读取,树形菜单展开,收缩
- 树形数据的处理
- 单双击响应事件处理区分
- Mac窗口的关闭,最小化,最大化按钮事件处理
- C#继承窗口的事件处理
- 最近在做ShareSDK的微信分享的时候遇到了点问题,就是分享的时候选择微信好友或者微信朋友圈会打开一下微信然后界面都还没加载出来就闪退。这个问题我在网上找了好多种的可能的情况以及处理办法,最终找到了
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
- DELPHI: TTreeView 中禁止双击事件展开或关闭节点.
- GLUT事件处理(Event Processing)窗口管理(Window Management)函数
- Cocos2d-x 处理双击事件的两种方法
- IQKeyboardManager(自动处理键盘事件)
- Cocos2d-x 处理双击事件的两种方法
- 让一层div遮住全窗口 另一层显示登陆框自动居中的css代码
- MVC中使用Echart后台加载数据 实现饼图、折线图、全国地图数据,单击双击事件等
- wince下强制使用重载的方式来解决窗口打开、关闭时的事件处理