[?你要多少分?] 难!!!如何在程序中动态设置列属性表达式?
在设计DW的时候,比如DW中的某一列的颜色可以用一个表答式,如:
IF(GETROW()=CURRENTROW(),RGB(0,0,160),IF(MOD(GETROW(),3)=0,RGB(210, 250, 110),RGB(230,255,180)))。
现在我的问题是,可不可以在程序中动态的设置这个表达式?
问题点数:100、回复次数:14Top
1 楼black0911(WILBER)回复于 2003-09-04 18:37:37 得分 5
可以,用MODIFY函数中的属性表达式写法
dw_1.modify("xxxx.xx='default~t expression'")Top
2 楼incats(wanyong)回复于 2003-09-04 18:38:08 得分 25
dw_1.Modify("yourcolumnname.Color='0~tIF(GETROW()=CURRENTROW(),RGB(0,0,160),IF(MOD(GETROW(),3)=0,RGB(210, 250, 110),RGB(230,255,180)))'")Top
3 楼runsoft(清风)回复于 2003-09-04 18:57:35 得分 20
IF(GETROW()=CURRENTROW(),RGB(0,0,160),IF(MOD(GETROW(),3)=0,RGB(210, 250, 110),RGB(230,255,180)))。
使用全局变量来替换RGB植Top
4 楼klbt(快乐白兔)回复于 2003-09-04 19:04:29 得分 20
楼上基本正确,不过我认为,应该修改RGB的调用,如下:
dw_1.Modify("yourcolumnname.Color='0~tIF(GETROW()=CURRENTROW()," + String(RGB(0,0,160)) + ",IF(MOD(GETROW(),3)=0," + String(RGB(210, 250, 110)) + "," + String(RGB(230,255,180)) + "))'")
Top
5 楼eltoro(一天到晚游泳的鱼)回复于 2003-09-04 20:24:00 得分 25
可以动态修改,而且很方便,比如说要把整个一行所有列的背景色改变,使之选中则变色,可以如下实现:
long ll_column_count,ll_i
//得到列数
ll_column_count = long(dw_grid.Describe("DataWindow.Column.Count"))
if ll_column_count <= 0 or isnull(ll_column_count) then return
//修改列的属性
for ll_i = 1 to ll_column_count
dw_grid.modify("#" + string(ll_i) + ".background.color = '0~tif(currentrow()&=getrow(),rgb(255,255,255),rgb(183,91,9))'")
nextTop
6 楼eastpond(东塘)回复于 2003-09-04 20:27:01 得分 1
upTop
7 楼liujiaqiang(阿毛)回复于 2003-09-04 23:25:54 得分 1
大家都不错,可惜我来晚了......Top
8 楼ishxb(何绪丙)回复于 2003-09-05 08:10:15 得分 1
upTop
9 楼eminena(俄罗斯方块)回复于 2003-09-05 08:14:13 得分 1
一般都 是用 Modify() 函数设置.Top
10 楼workhand(我可憨了...)回复于 2003-09-05 08:22:28 得分 1
蚂蚁怎么和白兔和在一起了,同意所有楼上的。Top
11 楼hexubing(何绪丙.与时俱进)回复于 2003-09-05 08:28:14 得分 0
Modify()Top
12 楼hexubing(何绪丙.与时俱进)回复于 2003-09-05 08:29:23 得分 0
顶Top
13 楼jdsnhan(柳荫凉)回复于 2003-09-05 09:30:11 得分 0
蚂蚁绊完大象又想绊白兔以跤?
呵呵!大家说的很完善了,我顶吧!Top
14 楼runsoft(清风)回复于 2003-09-05 20:34:34 得分 0
别顶了,赶快揭贴。Top




