Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16495872
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:47:47

下载本文示例代码
 ∥蘼凼强?⑹裁囱?某绦颍??菔淙胧遣豢扇鄙俚摹?焖俚厣?梢桓雒拦鄣氖淙虢缑嫖抟苫岽蟠筇岣叱绦蚩?⒌男?省O低吃?械目丶????痪∪艘狻T赿elphi中,如果针对某字段,可选的控件有DBLabel, DBEdit等;如果针对全表的输入,有DBGrid。使用Dbedit等控件时,用户必须全面安排各字段的位置,虽然能够达到美观的效果,但是,如果字段数多,无疑是很麻烦的。如果采用DBGrid,无论多少个字段,只用一个控件就够了,简单倒是简单,但是各字段是一字排列的,使用起来有点不方便。对于一般的用户来说,采用表格形式的录入,既方便,又美观。这就是本文所要解决的问题。   技术关键   本控件的主要功能是实现对数据库字段的编辑。按照一般的规律,控件中应包含TdataLink对象,还应该实现与TdataLink相关得一系列方法;但是,那样会耗费大量的代码。代码量越大,系统就越复杂,出错的可能性就越大。本控件的开发思路是以最少的代码实现最多的功能。所以,对数据字段的编辑直接使用TDBComboBox控件。   为了实现通用性,在控件内部维护了一个字段编辑控件数组和字段标题数组。如下: Editors: array of TDBComboBox; -$#@62;具体进行编辑所用的数据控件数组,动态生成 Labels: array of TLabel; -$#@62;各字段的标题,动态生成   采用TDBComboBox优点是它不仅能具有一般的编辑功能,还能为各字段添加相应的提示信息。代码如下: { 为第I字段增加提示信息的方法} procedure TDBPanel.AddHits(ItemIndex: Integer; Hits: array of string); var m,n,i: Integer; begin n := Length(Editors); m := Length(Hits); if ItemIndex$#@60;n then begin for i:=0 to m-1 do Editors[ItemIndex].Items.Add(Hits[i]); end; end;   具体的应用是千差万别的,所以,控件还需要给程序员留有足够的事件处理接口,以实现具体应用时的特殊功能。这就需要在控件中定义一定的事件处理方法供用户实现。这里提供的是一个OnOkClick事件,即当所有字段编辑完成后所执行的处理。代码如下: OkButton: TButton; -$#@62;最后增加的确定按钮,用于实现提交动作。 pr rty OnOkClick: TNotifyEvent read FClick write FClick; 共3页。 1 2 3 8 :  ∥蘼凼强?⑹裁囱?某绦颍??菔淙胧遣豢扇鄙俚摹?焖俚厣?梢桓雒拦鄣氖淙虢缑嫖抟苫岽蟠筇岣叱绦蚩?⒌男?省O低吃?械目丶????痪∪艘狻T赿elphi中,如果针对某字段,可选的控件有DBLabel, DBEdit等;如果针对全表的输入,有DBGrid。使用Dbedit等控件时,用户必须全面安排各字段的位置,虽然能够达到美观的效果,但是,如果字段数多,无疑是很麻烦的。如果采用DBGrid,无论多少个字段,只用一个控件就够了,简单倒是简单,但是各字段是一字排列的,使用起来有点不方便。对于一般的用户来说,采用表格形式的录入,既方便,又美观。这就是本文所要解决的问题。   技术关键   本控件的主要功能是实现对数据库字段的编辑。按照一般的规律,控件中应包含TdataLink对象,还应该实现与TdataLink相关得一系列方法;但是,那样会耗费大量的代码。代码量越大,系统就越复杂,出错的可能性就越大。本控件的开发思路是以最少的代码实现最多的功能。所以,对数据字段的编辑直接使用TDBComboBox控件。   为了实现通用性,在控件内部维护了一个字段编辑控件数组和字段标题数组。如下: Editors: array of TDBComboBox; -$#@62;具体进行编辑所用的数据控件数组,动态生成 Labels: array of TLabel; -$#@62;各字段的标题,动态生成   采用TDBComboBox优点是它不仅能具有一般的编辑功能,还能为各字段添加相应的提示信息。代码如下: { 为第I字段增加提示信息的方法} procedure TDBPanel.AddHits(ItemIndex: Integer; Hits: array of string); var m,n,i: Integer; begin n := Length(Editors); m := Length(Hits); if ItemIndex$#@60;n then begin for i:=0 to m-1 do Editors[ItemIndex].Items.Add(Hits[i]); end; end;   具体的应用是千差万别的,所以,控件还需要给程序员留有足够的事件处理接口,以实现具体应用时的特殊功能。这就需要在控件中定义一定的事件处理方法供用户实现。这里提供的是一个OnOkClick事件,即当所有字段编辑完成后所执行的处理。代码如下: OkButton: TButton; -$#@62;最后增加的确定按钮,用于实现提交动作。 pr rty OnOkClick: TNotifyEvent read FClick write FClick; 共3页。 1 2 3 8 : 下载本文示例代码


Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上Delphi数据库输入控件DBPanel的实现上
阅读(237) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~