【PB】指定某行某列的tooltip属性值uf_setcell_tooltip

01./*-----------------------------------------------------------------------------------  
02.函数功能:指定某行某列的tooltip属性值  
03.  
04.    参数:  
05.            dw                  数据窗口名  
06.            args_col[]          列名或者列号  
07.            args_info[]         行号及对应提示信息数组  
08.                       
09.  返回值:无  
10.  
11.  
12.  注: 1. 由于二维数组无法动态声明, 因此用一维数组代替, 通过程序处理。  
13.         因此要求传入到info数组的数据必须是以下格式:  
14.        
15.         {'行号1','提示内容','行号2','提示内容'}  
16.        
17.      2. 目前针对字段中未设表达式的情况  
18.        
19.----------------------------------------------------------------------------------*/  
20.//参考:"~tcase(getrow() when 1 then ~"hello~" else case(getrow() when 3 then ~"ggg~" else ~"~"))"  
21.//如果未传入值,则返回  
22.IF UpperBound(args_col) <= 0 THEN   
23.    RETURN  
24.END IF  
25.  
26.Integer i, j  
27.String ls_colname, ls_properties, ls_old_value = ""  
28.String ls_head, ls_mid, ls_tail, ls_condition  
29.String ls_value, ls_color  
30.//------------------------  
31.String ls_sign  
32.Boolean lb_sign  
33.//------------------------  
34.  
35.FOR i = 1 TO UpperBound( args_col )  
36.    //取列号  
37.    IF IsNumber( args_col[i] ) THEN  
38.        ls_colname = "#" + String( args_col[i] )  
39.    ELSE  
40.        ls_colname = args_col[i]  
41.    END IF  
42.      
43.    //修改的属性(这里大家可以自己扩展属性)  
44.//  CHOOSE CASE args_properties  
45.//      CASE "text"  
46.//          ls_properties = "color"  
47.//            
48.//      CASE "background"  
49.//          dw.modify( ls_colname + ".background.mode = '0' " )  
50.//          ls_properties = "background.color"  
51.//            
52.//  END CHOOSE  
53.    dw.modify( ls_colname + ".tooltip.enabled = true " )  
54.    dw.modify( ls_colname + ".tooltip.isbubble = '1' " )  
55.//  if len(ls_old_value) = 0 then  
56.//      dw.modify( ls_colname + ".tooltip.tip = '' " )  
57.//  end if  
58.    ls_properties = "tooltip.tip"  
59.      
60.    //去改列的表达式  
61.    ls_old_value = dw.Describe( ls_colname + "." + ls_properties )  
62.    if ls_old_value = '?' then  
63.        ls_old_value = ''  
64.    end if  
65.    //=========================================================2004-05-14修改  
66.    //取出的值中若含有("),就说明有表达式,或者初始值,  
67.    //而在重建表达式时,有这两个"在是不行的,所以要去除。  
68.    IF Pos(ls_old_value, '"') <> 0 THEN  
69.        ls_old_value = Right(ls_old_value, Len(ls_old_value) - Pos(ls_old_value, "~t"))  
70.        ls_old_value = Left( ls_old_value, Len(ls_old_value) - Pos(ls_old_value, "~t") - 1 )  //去掉最后的引号  
71.    END IF  
72.    //=====================================================================  
73.//  messagebox("2",ls_old_value)  
74.    //根据什么确定行  
75.//  CHOOSE CASE args_type  
76.//      CASE "value"  
77.//          ls_head = "'0~tcase(" + ls_colname +" "  
78.//            
79.//      CASE "row"  
80.//          ls_head = "'0~tcase(getrow() "  
81.//  END CHOOSE  
82.    ls_head = "'~tcase(getrow() "  
83.      
84.    FOR j = 1 TO UpperBound( args_info ) STEP 2  
85.        ls_value = args_info[j]     //行号或者改单元格的值  
86.        ls_color = args_info[j+1]   //取提示语  
87.          
88.        ls_mid = ls_mid + ' when ' + ls_value + ' then "' + ls_color +'"'  
89.    NEXT  
90.    if len(ls_old_value) = 0 then  
91.        ls_tail = ' else "' + ls_old_value + '"'+")'"   //结尾  
92.    else  
93.        ls_tail = " else " + ls_old_value + ")'"    //结尾  
94.    end if  
95.    //组合成表达式中的条件  
96.    ls_condition = ls_colname + "." + ls_properties + "="  
97.    ls_condition = ls_condition + ls_head + ls_mid + ls_tail  
98.//  messagebox("abc",ls_condition)  
99.    //执行  
100.    dw.Modify( ls_condition )  
101.      
102.NEXT  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值