ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:24.01KB ,
资源ID:982972      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-982972.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Delphi中DBGrid应用全书Word文件下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Delphi中DBGrid应用全书Word文件下载.docx

1、; /字体 (Sender as TDBGrid).Columnsi.Title.Font.Size :=9; /字体大小 (Sender as TDBGrid).Columnsi.Title.Font.Color :=$000000ff; /字体颜色(红色) (Sender as TDBGrid).Columnsi.Title.Color :=$0000ff00; /背景色(绿色) end;/隔行改变网格背景色: if Query1.RecNo mod 2 = 0 then (Sender as TDBGrid).Canvas.Brush.Color := clInfoBk /定义背景颜色

2、else= RGB(191, 255, 223); /定义背景颜色/定义网格线的颜色: DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); with (Sender as TDBGrid).Canvas do /画 cell 的边框 Pen.Color := $00ff0000; /定义画笔颜色(蓝色) MoveTo(Rect.Left, Rect.Bottom); /画笔定位 LineTo(Rect.Right, Rect.Bottom); /画蓝色的横线= $0000ff00; /定义画笔颜色(绿色) MoveTo(Rect.

3、Right, Rect.Top); /画绿色的竖线end;2.Delphi5 - 隔行改变DBGrid网格颜色 :在 Form1 上放置 DBGrid1、Query1、DataSource1 三个数据库组件,设置相关的属性,使 DBGrid1 能显示表中的数据。然后,在 DBGrid1 的 onDrawColumnCell 事件中键入以下代码,然后运行程序procedure TForm1.DBGrid1DrawColumnCell(Sender:DataCol: State:var i: if adoQuery1.RecNo mod 2 = 0 then= clinfobk /定义背景颜色/定

4、义背景颜色= clbtnface; /定义画笔颜色(兰色) /画绿色3. DBGrid指定列上显示DBboBox设置DBGrid1的OnDrawDataCell事件如下:procedure TForm1.DBGrid1DrawDataCell(Sender: Field: TField; if (gdFocused in State) then if (Field.FieldName = DBboBox1.DataField ) then DBboBox1.Left := Rect.Left + DBGrid1.Left; DBboBox1.Top := Rect.Top + DBGrid1.

5、top; DBboBox1.Width := Rect.Right - Rect.Left; DBboBox1.Height := Rect.Bottom - Rect.Top; DBboBox1.Visible := True;2)、DBGrid指定单元格未获得焦点时不显示DBboBox,设置DBGrid1的OnColExit事件如下:procedure TForm1.DBGrid1ColExit(Sender: TObject); If DBGrid1.SelectedField.FieldName = DBboBox1.DataField then= false;3)、当DBGrid指定

6、列获得焦点时DrawDataCell事件只是绘制单元格,并显示DBboBox,但是DBboBox并没有获得焦点,数据的输入还是在单元格上进行。在DBGrid1的KeyPress事件中调用SendMessage这个 Windows API函数将数据输入传输到DBboBox上,从而达到在DBboBox上进行数据输入。因此还要设置KeyPress事件如下:procedure TForm1.DBGrid1KeyPress(Sender: var Key: Char); if (key chr(9) then if (DBGrid1.SelectedField.FieldName =DBboBox1.D

7、ataField) then DBboBox1.SetFocus; SendMessage(DBboBox1.Handle,WM_Char,word(Key),0);打印 TDBGrid内容-方法1procedure PrintDbGrid(DataSet:TDataSet;DbGrid:TDbGrid;Title:String);varPointX,PointY:ScreenX:i,lx,ly:px1,py1,px2,py2:RowPerPage,RowPrinted:ScaleX:Real;THeight:TitleWidth:SumWidth:PageCount:SpaceX,Space

8、Y:RowCount:PointX:=Round(GetDeviceCaps(printer.Handle,LOGPIXELSX)/2.54);PointY:=Round(GetDeviceCaps(printer.Handle,LOGPIXELSY)/2.54);=Round(Screen.PixelsPerInch/2.54);=PointX/ScreenX;RowPrinted:=0;printer.BeginDoc;With Printer.Canvas do DataSet.DisableControls; DataSet.First ; THeight:=Round(TextHei

9、ght(我)*1.5);/设定每行高度为字符高的1.5倍 SpaceY:= Round(TextHeight()/4); SpaceX:=Round(TextWidth( RowPerpage:=Round(printer.PageHeight-5*PointY)/THeight); /上下边缘各2厘米 ly:=2*PointY; PageCount: while not DataSet.Eof do if (RowPrinted=RowPerPage) or (RowPrinted=0) then if RowPrinted0 then Printer.NewPage; RowPrinted

10、:=PageCount+1; Font.Name: Font.size:=16; Font.Style:=Font.Style+fsBold; lx:=Round(Printer.PageWidth-TextWidth(Title)/2); TextOut(lx,ly,Title); Font.Size:=11;=Font.Style-fsBold;=Printer.PageWidth-5*PointX;=Round(2*PointY+0.2*PointY); if RowPerPage*PageCountDataSet.RecordCount then RowCount:=DataSet.R

11、ecordCount=RowPerPage*PageCount; TextOut(lx,ly,第+IntToStr(RowPerPage*(PageCount-1)+1)+-+IntToStr(RowCount)+条,共+IntToStr(DataSet.RecordCount)+条);=2*PointX;=ly+THeight*2; py1:=ly-SpaceY; if RowCount=DataSet.RecordCount then py2:=py1+THeight*(RowCount-RowPerPage*(PageCount-1)+1)=py1+THeight*(RowPerPage

12、+1); SumWidth:=lx; for i:=0 to DBGrid.Columns.Count-1 do px1:=SumWidth-SpaceX; px2:=SumWidth; MoveTo(px1,py1); LineTo(px2,py2); TitleWidth:=TextWidth(DBGrid.Columnsi.Title.Caption);=Round(SumWidth+(DBGrid.Columnsi.width*scaleX-titleWidth)/2); TextOut(lx,ly,DBGrid.Columnsi.Title.Caption);=Round(SumWi

13、dth+DBGrid.Columnsi.width*scaleX)+SpaceX*2; /画最后一条竖线 /画第一条横线=py1+THeight;=py2+THeight;=ly+THeight;=ly-SpaceY+THeight; TextOut(lx,ly,DataSet.FieldByname(DBGrid.Columnsi.Fieldname).AsString);=Round(lx+DBGrid.Columnsi.width*ScaleX+SpaceX*2);=RowPrinted+1; DataSet.next; DataSet.first; DataSet.EnableCont

14、rols;printer.EndDoc;把DBGrid输出到Excel表格方法一(支持多Sheet)功能描述:把DBGrid输出到Excel表格(支持多Sheet)调用格式:CopyDbDataToExcel(DBGrid1, DBGrid2);procedure CopyDbDataToExcel(Args: array of const); iCount, jCount: XLApp: Variant; Sheet: I: Screen.Cursor := crHourGlass; if not VarIsEmpty(XLApp) then XLApp.DisplayAlerts := F

15、alse; XLApp.Quit; VarClear(XLApp); try XLApp := CreateOleObject(Excel.Application); except= crDefault; Exit; XLApp.WorkBooks.Add; XLApp.SheetsInNewWorkbook := High(Args) + 1; for I := Low(Args) to High(Args) do XLApp.WorkBooks1.WorkSheetsI+1.Name := TDBGrid(ArgsI.VObject).Name; Sheet := XLApp.Workbo

16、oks1.WorkSheetsTDBGrid(ArgsI.VObject).Name; if not TDBGrid(ArgsI.VObject).DataSource.DataSet.Active then TDBGrid(ArgsI.VObject).DataSource.DataSet.first; for iCount := 0 to TDBGrid(ArgsI.VObject).Columns.Count - 1 do Sheet.Cells1, iCount + 1 := TDBGrid(ArgsI.VObject).Columns.ItemsiCount.Title.Captio

17、n; jCount := 1; while not TDBGrid(ArgsI.VObject).DataSource.DataSet.Eof do Sheet.CellsjCount + 1, iCount + 1 : TDBGrid(ArgsI.VObject).Columns.ItemsiCount.Field.AsString; Inc(jCount); TDBGrid(ArgsI.VObject).DataSource.DataSet.Next; XlApp.Visible :dbgrid的數據導入到excel中方法二unit Unit1;interfaceuses Windows,

18、 Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, Db, DBTables, Excel97, OleServer, Word97;type TForm1 = class(TForm) ExcelApplication1: TExcelApplication; ExcelWorkbook1: TExcelWorkbook; ExcelWorksheet1: TExcelWorksheet; Table1: TTable; DataSource1: TDataSo

19、urce; DBGrid1: TDBGrid; Button1: TButton; Button4: WordApplication1: TWordApplication; WordDocument1: TWordDocument; procedure Button1Click(Sender: procedure Button4Click(Sender: private Private declarations public Public declarations Form1: TForm1;implementation$R *.DFMprocedure TForm1.Button1Click(Sender: i, row, column: integer; Try ExcelApplication1.Connect; Except MessageDlg(Excel may not be installed, mtError, mbOk, 0); Abort; End; ExcelApplication1.Visible0 : ExcelApplication1.Caption := Excel Applic

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2