社区
Delphi
帖子详情
如何在DBGrid中把一个字段做两行显示?
jzy
2000-03-21 07:31:00
数据库的一个表中包含如下字段:一组设备的重力值,后面紧跟该组设备的水平角度值。现在要求,将该表显示在DBGrid中,重力和水平角度各占一行,且上下两行相对应。
请教各位大虾,应该如何解决?
...全文
286
7
打赏
收藏
如何在DBGrid中把一个字段做两行显示?
数据库的一个表中包含如下字段:一组设备的重力值,后面紧跟该组设备的水平角度值。现在要求,将该表显示在DBGrid中,重力和水平角度各占一行,且上下两行相对应。 请教各位大虾,应该如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lin
2000-03-24
打赏
举报
回复
TStringGrid0没有Register!
解决方法有两个:
1、自己编写一个组件并注册;
2、将Form设计面板上的StringGrid1删掉,在程序运行中动态创建该StringGrid1,注意设置其Parent属性。
jzy
2000-03-24
打赏
举报
回复
不过,还有一点想请教各位:
在使用DBGrid时,我要使网格中不同数值的数据以不同的颜色显示,通常只需编写DBGrid的OnDrawColumnCell事件,根据条件更改颜色,然后调用DBGrid的成员函数DefaultDrawColumnCell;
而在使用StringGrid时,相对应的事件是OnDrawCell,对应的成员函数是DrawCell,但是我查看Grids.pas,发现TStringGrid居然把DrawCell(这是从TDrawGrid继承而来)声明成了protect,所以我无法在OnDrawCell事件响应函数(因为这个函数是Form1的成员)中调用DrawCell。
当然,要解决这一问题,有很多种方法,例如:不用DrawCell,而用TextRect或其他函数,或者干脆修改Grids.pas,把DrawCell声明成public,编译后再覆盖lib下的Grids.dcu(呵呵,这一招有点绝:-)
但是我尝试用这个方法,却好像行不通:
定一一个新类TStringGrid0继承TStringGrid,然后为TStringGrid0声明一public的成员函数,在函数中调用DrawCell;即:
type TStringGrid0=class(TStringGrid)
public
procedure DrawCell0(…………); //参数声明跟DrawCell一样
end;
procedure TStringGrid0.DrawCell0(…………);
begin
DrawCell(…………);
end;
//然后更改StringGrid1的定义
Var StringGrid1:TStringGrid0;
再在*.dfm文件中更改
object StringGrid1:TStringGrid0;
从理论上讲,这应该是可以的,因为TForm1就是这样声明的,但是编译的时候提示我StringGrid1的声明错误,是否更正!
请各位指教,我还疏漏了什么???
jzy
2000-03-24
打赏
举报
回复
929兄真是一句话点醒梦中人,本来我这个程序就只需要显示,用StringGrid的确方便多了,呵呵,只要是数据库,就情不自禁的跟DBGrid联系起来,到把STringGrid这东西给忘了:-)
另外,小弟这各标题好像打错了,应该是“一个记录做两行显示”,呵呵,5214:-q
supershan
2000-03-22
打赏
举报
回复
听
Lin
2000-03-22
打赏
举报
回复
Delphi的DBGRid支持嵌套的字段显示,如某个字段由其他几个字段组成,但是好象只有Oracle数据库支持嵌套字段,如果你使用的是其他数据库引擎,就不好办了。只有重新定制DBGrid,或者增加一个计算字段,自己负责显示了。
zoao
2000-03-22
打赏
举报
回复
听,原有问题加上打印.
929
2000-03-22
打赏
举报
回复
如果只想显示的话,可应用TSTRINGGRID或TDRAWGRID。
将数据源中的数据按记录数设置它的列数,然后,在程序中用循环的方法将表中两字段的数据赋上去。
True
DB
Grid
for .NET-基于.NET的企业版网格控件
此外,您具有对滚动行为的控制:选择具有在每个分割
中
独立工作的滚动条(对于需要从不同列的数据
中
对比
字段
值时非常有效)或选择
一个
滚动条同步滚动复合分割。 2D和3D单元
显示
选择两维,三维和两者结合来控制单元...
delphi 开发经验技巧宝典源码
0209 如何把ListBox
中
的内容拖曳到另
一个
ListBox
中
139 0210 把
DB
Grid
中
的数据赋给数组 139 0211 如何获取Data
Grid
单元格
中
的内容 140 0212 如何锁定文本框
中
的文本 141 0213 如何设置光标到文本框的末尾 ...
delphi 开发经验技巧宝典源码06
0209 如何把ListBox
中
的内容拖曳到另
一个
ListBox
中
139 0210 把
DB
Grid
中
的数据赋给数组 139 0211 如何获取Data
Grid
单元格
中
的内容 140 0212 如何锁定文本框
中
的文本 141 0213 如何设置光标到文本框的末尾 ...
DB
Grid
Eh of Enlib 3.0组件
DB
Grid
Eh组件无论在外观上还是功能上都非常类似Borland开发工具
中
现有的
db
grid
组件,它除了提供
db
grid
组件的全部功能外,还增加了下列新功能: ● 任意选择多行、列或矩形区域的数据. ● 为多列标题设定共同的父...
Delphi
5,390
社区成员
262,735
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章