Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:如何在DrawCell中自定义样式

1楼
ybtxdz 发表于:2009/5/15 13:26:00

假如不想用“表相关—其他—自定义样式”的方法添加自定义样式,而在表事件DrawCell中用代码自定义样式,代码该如何编写?


看到“DataList有一个AddUserStyle方法,用于向DataList添加自定义样式”后的一个想法。

2楼
yangming 发表于:2009/5/15 14:27:00

DrawCell

在绘制单元格的时候执行。

e参数属性有:

Form:     触发事件的窗口
Sender:   触发事件的控件
DataRow:  正在绘制的数据行
ColName: 正在绘制的列的名称
Style:   用于绘制单元格的样式名称

示例

假定DataList用于显示订单数据,我们希望对于大于5000的金额,用红底蓝字标出,对于大于4000的金额,用蓝底白字标出。

首先在窗口的AfterLoad事件中设置代码,增加两个样式:

Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst.AddUserStyle(
"a",Color.Red,Color.Blue)
dst.AddUserStyle(
"b",Color.Blue,Color.White)

然后将DataList的DrawCell事件设为:

If e.ColName = "金额" Then
    Dim Val As Double = e.DataRow("金额")
    if
Val > 5000
Then
        e.Style =
"a"
   
ElseIf Val > 4000 Then
        e.Style=
"b"
   
End If
End
If


此主题相关图片如下:drawcell.jpg
按此在新窗口浏览图片
这是我按帮助做的
[此贴子已经被作者于2009-5-15 14:29:53编辑过]
3楼
ybtxdz 发表于:2009/5/15 14:55:00
谢谢杨版回复。你给出的例子是在DataList控件中DrawCell事件的设置。我希望得到在Table中DrawCell事件的设置。

在帮助中只介绍了用“表相关—其他—自定义样式”的方法添加自定义样式,然后在Table中DrawCell事件用e.Style = ... 来做。

我想如果能用代码来编写自定义样式的话,就不必通过“表相关—其他—自定义样式”去一个一个的设置自定义样式。
4楼
狐狸爸爸 发表于:2009/5/15 15:02:00

别在DrawCell事件中定义样式,你可以在项目的AfterOpenProject事件,窗口的AfterLoad,甚至一个生成Table的按钮代码中,等等合适的地方定义自定义样式。

5楼
ybtxdz 发表于:2009/5/15 15:10:00
以下是引用狐狸爸爸在2009-5-15 15:02:00的发言:

别在DrawCell事件中定义样式,你可以在项目的AfterOpenProject事件,窗口的AfterLoad,甚至一个生成Table的按钮代码中,等等合适的地方定义自定义样式。


谢谢指点。那该怎么写,帮助中找不到相关的语法做参考。

6楼
狐狸爸爸 发表于:2009/5/15 15:14:00
对了,是没有通过代码管理样式的功能,我抽空加上去吧

图片点击可在新窗口打开查看
7楼
ybtxdz 发表于:2009/5/15 15:18:00
以下是引用狐狸爸爸在2009-5-15 15:14:00的发言:
对了,是没有通过代码管理样式的功能,我抽空加上去吧

图片点击可在新窗口打开查看


图片点击可在新窗口打开查看  希望早日放出,谢谢

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 2 queries.