dephi 怎么在twwdbgrid控件件里面插入一行 但是数据库里面不并不增加

Delphi教程:
Delphi控件: 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
Delphi数据库开发完美教程 第1章 Delphi数据库应用系统基础
下载积分:800
内容提示:Delphi数据库开发完美教程 第1章 Delphi数据库应用系统基础
文档格式:PDF|
浏览次数:12|
上传日期: 22:35:00|
文档星级:
该用户还上传了这些文档
Delphi数据库开发完美教程 第1章 Delphi数据库应用系
官方公共微信博客访问: 405960
博文数量: 256
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
EhLib DBGridEh组件在Delphi中应用全攻略总结
【DBGridEh(增强型表格组件)功能详解】DBGridEh组件无论在外观上还是功能上都非常类似Borland开发工具中现有的dbgrid组件,它除了提供dbgrid组件的全部功能外,还增加了下列新功能:● 任意选择多行、列或矩形区域的数据.● 为多列标题设定共同的父标题行.● 表格底部(Footer) 区显示求和、计数和其它统计信息.● 自动调整组件宽度与客户区域等宽.● 设置标题行、数据行的高度.● 超长的标题行、数据行文本自动折行处理.● 标题行可作为按钮使用,并可选择是否显示排序标志符(▽降序△升序).● 点击列标题可对当前列自动排序而无需编写代码.● 能够自动设置删除超长文本显示不下的多余部分,并以省略号(…)代替.● 自动搜索字段(Lookup)数据单元格以单、多列字段下拉列表形式显示.● 自动搜索字段(Lookup)数据单元格可进行增量搜索.● 可锁定任意列数在屏幕水平方向不滚动.● 日期时间控件DateTime picker 可支持TDateField and TDateTimeField两种日期格式.● 根据字段不同值显示关联的ImageList 对象图片组中的图片.● 隐藏任意列.● 显示3D风格的数据区、表尾区和锁定滚动列,制作3D外观表格.● 显示Memo类型字段值.● 除BOOLEAN型数据外,其它数据类型也可以检查框( checkbox )形式显示数据.● 使用专门的函数和过程来存取以reg或ini文件格式保存的表格布局(包含各数据列表、数据列访问顺序、列宽、索引标识、行高等信息)文件。● 通过设置数据单元格的hint和ToolTips属性,当移动鼠标到该单元格时,可以显示单元格容纳不下的文本内容.● 将组件中数据导入/导出到Text, Csv, HTML, RTF, XLS 和内部数据等多种格式的文件中.
【Ehlib在 Delphi 7 中的安装】(我可是花了半天的力气才搞定的哦)Delphi 7中的安装方法1.把 EhLib 中的common和DataService文件夹下的文件拷贝到 Delphi7 目录中.2.在 TOOLS->Environment Options->Library->Library Path 中添入EHLIB路径。3.打开新建文件夹中的EHLIB70.dpk,编译一下,但不要安装。4.打开新建文件夹中的EhLibDataDrivers70.dpk,编译一下,但不要安装。5.打开Ehlib中的DclEhLib70.dpk,编译,安装6.打开Ehlib中的DclEhLibDataDrivers70.dpk,编译,安装(实际中不用也可以)7.组件面板中出现一个EhLib的组件页。8.打开附带的DEMOS1,编译并运行,测试安装成功。
【DBGridEh控件的页脚属性怎么设】1、将dBGridEh.FooterRowCount := 12、将DBGridEh.SumList.Active := T3、将Columns[要求和的字段].Footer.ValueType := vtS就行了,最后要注意,在FormCloseQuery事件中,一定要将SumList.Active := False,因为在数据集中的数据多了以后,FormClose会让DBGridEh释放所有EhLib资源,会使得退出很慢,所以将SumList.Active := False不会引起退出很慢(还没有试)。
【实现DBGridEh隔行分色显示】procedure TForm1.DBGridEh1GetCellParams(Sender: TO Column: TColumnEh;AFont: TF var Background: TC State: TGridDrawState);beginif DBGridEh1.SumList.RecNo mod 2 = 1 thenBackground := clinfobkelseBackground := RGB(238, 238, 238);
【DBGridEh在某些条件下某行显示特定颜色】procedure TForm1.DBGridEh1GetCellParams(Sender: TO Column: TColumnEh; AFont: TF var Background: TC State: TGridDrawState);begin//在 name 字段值为 aaa 的行设置行背景色(ado 设置情况下)if ADOQuery1.FieldByName('name').AsString = 'aaa' thenBackground := $00FFC4C4//在 xm 字段值为 Li ming 的行设置行背景色(bde 设置情况下)else if DBGridEh1.DataSource.DataSet.FieldByName('xm').AsString = 'Li ming' thenBackground := $00FFC4C4elseBackground := $00FFDDDD;
【实现DBGridEh全选】procedure TForm1.N_CopyPolListClick(Sender: TObject);beginif (ActiveControl is TDBGridEh) thenwith TDBGridEh(ActiveControl) doif CheckSelectAllAction and (geaSelectAllEh in EditActions) thenSelection.SelectA
【Ehlib的DBGridEh控件输出文件到 EXCEL】(其实EHLIB的DEMO1中已有)procedure TForm1.N_SaveSelectionClick(Sender: TObject);varExpClass: TDBGridEhExportCExt: SbeginSaveDialog1.FileName := 'file1';if (ActiveControl is TDBGridEh) thenif SaveDialog1.Execute thenbegincase SaveDialog1.FilterIndex of1: beginExpClass := TDBGridEhExportAsTExt := 'txt';2: beginExpClass := TDBGridEhExportAsCSV;Ext := 'csv';3: beginExpClass := TDBGridEhExportAsHTML;Ext := 'htm';4: beginExpClass := TDBGridEhExportAsRTF;Ext := 'rtf';5: beginExpClass := TDBGridEhExportAsXLS;Ext := 'xls';elseExpClass :=Ext := '';if ExpClass
nil thenbeginif UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) UpperCase(Ext) thenSaveDialog1.FileName := SaveDialog1.FileName + '.' + ESaveDBGridEhToExportFile(ExpClass,TDBGridEh(ActiveControl),SaveDialog1.FileName,False);
【在DBGridEh中直接点击title就可按点击的那个字段排序的方法】procedure TForm1.DBGridEh1TitleClick(Column: TColumnEh);varsortstring: //排序列begin//进行排序with Column dobeginif FieldName = '' thenEif (Title.SortMarker = smNoneEh) or (Title.SortMarker = smDownEh) thenbeginsortstring := Column.FieldName + ' ASC';;Title.SortMarker := smUpEh;endelsebeginsortstring := Column.FieldName + ' DESC';Title.SortMarker := smDownEh;tryADOQryPolicyList.Sort := //dataset为实际数据集变量名exceptMessageBox(Handle,'排序出错,请核实后重试!', '提示', MB_ICONError);注意:1.在窗体上放置一个DBGridEh组件,并将其连接到相应的 BDE 数据集;2.将该组件的[OptionsEn]中的 dgAutoSortMarking 属性设置为 T3.双击该组件,在其弹出的属性编辑器中添加相关字段;4.将要排序的字段的属性列表的 [Title]的 TitleButton 属性设置为 T5.最后,千万不要忘了在 uses 子句中加上 EhlibBDE单元。
【DBGridEh从注册表或ini文件中保存或恢复网格和列的层次】TDBGridEh 有一个常规设置来从注册表或ini文件中保存和恢复网络以及列的层次:RestoreColumnsLayout - 从注册表中恢复列的次序,宽度,排序标志。RestoreColumnsLayoutIni - 从ini文件中恢复列的次序,宽度,排序标志。RestoreGridLayout - 从注册表中恢复列的次序,宽度,可视,排序标志,排序索引或行高。RestoreGridLayoutIni - 从ini文件中恢复列的次序,宽度,可视,排序标志,排序索引或行高。SaveColumnsLayout - 保存列的次序,宽度,排序标志到注册表中。SaveColumnsLayoutIni - 保存列的次序,宽度,排序标志到ini文件中。SaveGridLayout - 保存列的次序,宽度,可视,排序标志,排序索引或行高到注册表中。SaveGridLayoutIni - 保存列的次序,宽度,可视,排序标志,排序索引或行高到ini文件中。举例如下://存储Grid格式inifunction SaveGridIni(ADBGridEhNameStr:ADBGridEh:TDBGridEh): BvarIniFileNameStr:beginIniFileNameStr := ExtractFileDir(ParamStr(0)) + '\' + 'DBGirdConfig.ini';ADBGridEh.SaveGridLayoutIni(IniFileNameStr,ADBGridEhNameStr,False);
//加载读取Grid格式inifunction RestoreGridIni(ADBGridEhNameStr:ADBGridEh:TDBGridEh): BvarIniFileNameStr:RestoreParams: TDBGridEhRestorePbeginIniFileNameStr := ExtractFileDir(ParamStr(0)) + '\' + 'DBGirdConfig.ini';ADBGridEh.RestoreGridLayoutIni(IniFileNameStr,ADBGridEhNameStr,RestoreParams);
阅读(2906) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。关于Dephi7中DBGrid的CellClick事件的有关问题 - Delphi当前位置:& &&&关于Dephi7中DBGrid的CellClick事件的有关问题关于Dephi7中DBGrid的CellClick事件的有关问题&&网友分享于:&&浏览:0次关于Dephi7中DBGrid的CellClick事件的问题本人先用Adoquery进行条件查询
procedure&TForm1.Button3Click(Sender:&TObject);
adoquery1.sql.
&&&if&(edit5.text='')
&&&&&&&adoquery1.sql.Add('select&*&from&员工个人信息表&&')
&&&&adoquery1.sql.Add('select&*&from&员工个人信息表&where&所在部门&LIKE''%'+edit5.Text+'%''');
adoquery1.
查询之后将结果显示在DBGrid中,然后我想点击DBGrid列表中某位员工的号码后将员工的个人信息(例如部门,姓名等)显示在edit中代码如下:
procedure&TForm1.DBGrid1CellClick(Column:&TColumn);
adoquery1.
&&&&&Edit1.Text:=dbgrid1.DataSource.DataSet.FieldValues['所在部门'].
&&&&&Edit2.Text:=dbgrid1.DataSource.DataSet.FieldValues['员工号'].
&&&&&Edit3.Text:=dbgrid1.DataSource.DataSet.FieldValues['姓名'].
可是当程序运行时,我查询、显示查询结果都没有问题,但是当我点击单元格时开始报错
请教大神帮助------解决思路----------------------DBGrid响应的事件选择错了。应该在DBGrid1KeyUp和DBGrid1MouseUp,两事件中响应相同的代码。这样。编写一个过得,在这两个事件中,执行该事件即可。
procedure&TForm1.SetMouseKeyUp;
&&Edit1.Text:=dbgrid1.DataSource.DataSet.FieldValues['所在部门'].
&&Edit2.Text:=dbgrid1.DataSource.DataSet.FieldValues['员工号'].
&&Edit3.Text:=dbgrid1.DataSource.DataSet.FieldValues['姓名'].
procedure&TForm1.DBGrid1KeyUp(Sender:&TO&var&Key:&W
&&Shift:&TShiftState);
&&SetMouseKeyUp;
procedure&TForm1.DBGrid1MouseUp(Sender:&TO&Button:&TMouseB
&&Shift:&TShiftS&X,&Y:&Integer);
&&SetMouseKeyUp;
------解决思路----------------------这是你的“员工列表”DBGrid中的列缺少“所在部门'”列所,读取数据出错。
建议在“员工列表”DBGrid的SQL语句中,加入“所在部门'”字段,再将其隐藏起来。(也可不隐藏)
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有

我要回帖

更多关于 dbgrid控件 的文章

 

随机推荐