社区
PowerBuilder
帖子详情
关于数据窗口背景色的问题
handi
2002-11-20 05:51:10
以前问过一次,可是没人理解我的意思,是这样的,
我希望把第n行第m列的那个单元格的背景颜色变成红色,
同时把第a行b列的那个格变成绿色。 应该怎么办呢?
不是变一行或者一列。
是script动态变的 。
谢谢大家。
...全文
93
5
打赏
收藏
关于数据窗口背景色的问题
以前问过一次,可是没人理解我的意思,是这样的, 我希望把第n行第m列的那个单元格的背景颜色变成红色, 同时把第a行b列的那个格变成绿色。 应该怎么办呢? 不是变一行或者一列。 是script动态变的 。 谢谢大家。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
888888888888
2002-11-20
打赏
举报
回复
去看看把
balloonman2002
2002-11-20
打赏
举报
回复
不好意思,是见:
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=3884
balloonman2002
2002-11-20
打赏
举报
回复
这个问题我答过的,见:
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=3877
我想判断当前光标所在列号,由此使光标所在“单元格”背景色变化一下。
(注意:在datawindow的itemfocuschanged事件中可以用
dw_1.modify(dwo.background.color= "颜色值 ")改变。但是它改变
的是整个列的颜色。现在我要的是使光标所在的单元格改变颜色。)
我所要的是:
1, 光标在某行某列的单元格上时是一种颜色,光标离开此单元格,比如光标移动到左边或右边一列时,原来的单元格恢复本来颜色,而被移动到的一列单元格颜色又改变(注意:此时光标在同一行)
2, 当光标移动到下一行时,同一列之间只能是光表所在单元格变色,其他上下单元格保持原样
---------------------------------------------------------------
喔写了一段代码,经过测试应该没有问题:
在DW的ITEMFOCUSCHANGED事件,注意是ITEMFOCUSCHANGED事件:
//此处声明所用到的相关变量;
long ll_col,ll_pos,ll_cols
string modstring,ls_colnam,ls_color_1,ls_color_2
//此处给两个颜色变量赋值;
ls_color_1=string(RGB(0, 255, 0))
ls_color_2=string(rgb(255,0,0))
//此处获取当前列号和总列数;
ll_col=dw_1.getcolumn()
ll_cols=long(dw_1.Object.DataWindow.Column.Count)
//此处将所有列的BACKGROUND的MODE属性设为不透明;(注:下面两句其实可以放到FORM的OPEN事件或DW的CONSTRUCTOR里面执行,可以提高效率;)
for ll_pos=1 to ll_cols
ls_colnam=dw_1.Describe( "# "+string(ll_pos)+ ".Name ")
dw_1.Modify(ls_colnam+ ".Background.Mode='0' ")
next
//此处将所操作列的Background.Color属性设为带IF判断的表达式,而除此之外的各列的背景表达式均设为恒值;
for ll_pos=1 to ll_cols
ls_colnam=dw_1.Describe( "# "+string(ll_pos)+ ".Name ")
if ll_pos < > ll_col then
modstring=ls_colnam+ ".Background.Color=' "+ls_color_1+ "' "
else
modstring=ls_colnam+ ".Background.Color=' "+ls_color_1+ " ~t if (getrow()=currentrow(), "+ls_color_2+ ", "+ls_color_1+ ")' "
end if
//此处执行背景颜色修改;
dw_1.Modify(modstring)
//刷新显示新的背景颜色;
dw_1.setredraw(true)
next
最后的运行效果是当前ITEM为红色,其他均为绿色。
a2000
2002-11-20
打赏
举报
回复
可以用函数
1、定义全局函数如f_is_colorrow(as_col long ,as_row long)
(1)、功能:返回行、列所对应行的颜色值
(2)、输入入参数为当前行,列
(3)、函数返回值。0:不变色,其余: 颜色值
(4)、函数实现:变色情况较少:定义一变色行、列的全局数组,将变色行、列引入到数组中,判断输入参数行列是否在其中。变色情况较多:可定义一全局DATASTORE,将变色行、列引入到数组中,判断输入参数行列是否在其中。在其中则返回应修改的颜色值。
2、在数据窗品的字段的背景色表大式中输入如下脚本
if (f_is_colorrow(字段的列数(每列不同) ,getrow())=0,原颜色值,f_is_colorrow(字段的列数(每列不同) ,getrow()))
3、在程序中动态修改全局数组或全局datastore
79cy
2002-11-20
打赏
举报
回复
在数据窗口的每一列中加上判断语句应该可以吧,比如IF。。。。 ,**,**
PB
数据
窗口
中行列颜色设置
PB
数据
窗口
中行列颜色设置 ,如何动态改变
数据
窗口
中列的颜色的表达式
PB 改变某行某列的字体、背景颜色等
通用函数 指定某行某列的属性值(字体、背景颜色等)
JavaScript网页特效范例宝典源码
实例033 使
窗口
背景透明 50 实例034 立体
窗口
52 实例035 动态标题栏 53 实例036 固定大小的
窗口
54 1.6 框架的应用 55 实例037 框架集的嵌套 56 实例038 在网页中应用浮动框架 58 实例039 创建空白框架 60 实例040 ...
Google Android SDK开发范例大全(PDF高清完整版3)(4-3)
3.3 更改TextView文字颜色——引用Drawable颜色常数及
背景色
3.4 置换TextView文字——CharSequence
数据
类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——...
Google Android SDK开发范例大全(PDF完整版4)(4-4)
3.3 更改TextView文字颜色——引用Drawable颜色常数及
背景色
3.4 置换TextView文字——CharSequence
数据
类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——...
PowerBuilder
1,077
社区成员
66,438
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章