DBGridEh的用法.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DBGridEh 用法
- 资源描述:
-
先介绍表格EXDBGird,因为继承DBGridEh,原本就是继承DBGrid 的,但DBGridEh 功能更强,就沾沾光吧,这部分就不说了,下面介绍的功能或未实现,但先写出来。 DBGridEh是 要交费的,请自觉交费。 ShowID ------显示记录号,options-dgIndicator同时为true IDAlignment------显示记录号对齐方式 IDFont------显示记录号字体 目前为止未见到完美显示记录号的数据表格,这是本人制作此控件的目标, 新版的记录号是自行计算和维护的。 ShowRecID------未实现,取代与记录号有关的功能 ------Alignment对齐方式 ------Font字体 ------Visible是否显示 ShowRecCount------在左下角现实总行数,FootrRowCount必须大于等于1 ------Color背景色 ------Font字体 ------Visible是否显示 ------(Alignment)与记录号共用 LeftRightRoll------按左右键移动光标会滚到上或者下一行 CHNCurrencyStyle-----中国式财务金额栏,新版重新设计与网内流行的设计有区别 ------Color背景色 ------Currency字体 ------CurrencySymbol货币符号 ------CurrencySymbolAligned货币符号对齐方式,设为true时总在最左列 ------CurrencyTitle标题 ------CurrencyTitleFont标题字体 ------DecimalNumber小数位数 ------DecimalSeparatorColor小数分隔线的颜色 ------GridLineColor间隔线颜色 ------GridLineWidth间隔线宽度 ------kilobitSeparatorColor千位线颜色 ------Margin数字与相邻间隔线的距离,可以设为负数,让间隔线更密 ------NegativeColor负数的颜色 ------NegativeFont负数的字体 ------ShowCurrencyTitle是否显示标题,可能要设置表格的TitleHeight ------ShowNegativeColor是否使用负数颜色 ------ShowNegativeFont是否使用负数字体 ------ShowNegativeSign负数是否显示负号 ------TextLayout数字对齐方式 ------ZeroEmpty数据为0时是否显示 要显示中国式财务金额栏,还需要在表格的Columns属性选择一个字段, 将DisplayCHNCurrency设为真,把MaxWidth也设置一下,以限制宽度。 DrawFocusRect------激活时是否显示虚线框,DBGridEh3.6版没特别做出来的 功能,一个表格设置禁止之后,窗口里面其它表格都会禁止显示。 其它一些属性 AutoFitColWidths------自动调整列宽 EvenRowColor,OddRowColor------显示单双行颜色,经过改进,在插入数据 的状态下,仍能正常显示单双行颜色,因为是从自己计算的记录号推算的。 OptionEh------DBGridEh的一些设置 ------dghFixed3D控制标题的3D效果 ------dghFitRowHeightToText让行高紧密些 ------dghEnterAsTab回车键具备Tab键下一格功能,经过改进,Enter键 移到下一格会避开禁止修改的列,例如显示计算字段的列,在表格的右下 角时,按Enter键会新增空行。与Shift同时按下,移到上一格。 dghRowHighlight------当前行显示高亮度 其它功能 TAB键------一般Tab键可以在窗口各控件间穿梭,进入表格之后被俘获,只能 在表格的格子间移动,经过改进,Tab键可以再次跳出表格的格子,重新 回到窗口的其它控件。在表格内会避开禁止修改的列。 Enter键------见上。 方向键------避开禁止修改的列,在表格的右下角时,按右方向键会新增空行。 翻页键------在表格底部,按下翻页键时会新增空行。 没有数据------本表格没有数据时,自动出现空行。 Insert------插入数据,插入的数据自动移到表格底部,这是数据集决定的 Delete------出现删除数据对话框,用鼠标在Indicator上按鼠标左键可选择多 行,按下Delete键即可删除多行数据,并显示删除进度,允许中止删除。 嵌入控件说明,本表格可以真正嵌入专用的控件,编程时要将这种控件直接放 在表格里面,不要放在外边,想在那些列显示控件,可设置控件的GridFields 属性,为相应的字段,表格会自动识别处理。 DBGridEh的用法 DBGRIDEH 是Enlib 3.0组件包中的组件之一。Enlib 3.0组件包是一位俄国人为增强Borland系列开发工具功能而开发的第三方组件,它具有界面友好、功能强大、开发效率高、、快速制作预览/打印简单中 国式报表等特点。因此,一推出即受到广大Borland程序员的青睐。目前这个版本支持Borland Delphi versions 4,5,6&7 和 Borland C++ Builder versions 4 & 5 ,可极大地提高数据库应用系统客户端的性能。许多商品软件如《速达2000》等都使用了该组件。下面本人将使用该组件在实际系统开发过程中的经验总结如 下。 Enlib3.0 组件包中最重要而且功能最强大的莫过于dbgrideh组件,本文介绍的所有实例均在Delphi 7开发环境下调试通过。 一、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 和内部数据等多种格式的文件中. DBGridEh组件主要属性 见下表(其它属性参见dbgrid): DBGridEh组件事件基本与DBGrid相同,在此不再赘述。 二、应用实例 Enlib3.0 组件包安装成功后,在系统的组件面板中会显示“enlib”组件包标签(如图1),添加DBGridEh到窗体的方法与其它组件一样。在窗体中添加该组件 后,请跟我一起来实现图2的一些特殊效果,具体属性设置请参考属性表的说明。 A、定制标题行 1、制作复杂标题行 标题行可设为2行以上高 度,并可以为多列创建一个共同的父标题行。为实现这个效果,需在各个列标题属性中以“|”分隔父标题和子标题,如办公用品包括代码和名称两部分,具体属性 设置如下: usemultititile=true; titlelines=2 DBGridEh.Columns[0].Title.Caption := '办公用品 代码'; DBGridEh.Columns[1].Title.Caption := '办公用品 名称'; 2、标题行显 示图片 实现图2中的购买人标题行显示效果。首先添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。然后将 DBGridEh的TitleImages设置为img1.最后在需要显示图片的列标题的imageindex中设置需要显示的img1中图片的序号。按 F9执行一下程序,是不是很酷! 3、自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序 DBGridEh组件可以在标题行单元格中显示小三 角形升、降排序标志符图片,在运行时可点击标题行,图片自动切换并做相应排序。具体属性设置如下: OptionsEh=dghAutoSortMarking Column.Title.TitleButton=true SortMarkedColumns 为当前排序列可在运行时使用. 然后在 该列的ontitleclick事件中添加代码: procedure TForm_Query.DBGridEh1TitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh); var sortstring:string; //排序列 begin //进行排 序 with Column do begin if FieldName = '' then Exit; case Title.SortMarker of smNoneEh: begin Title.SortMarker := smDownEh; sortstring := Column.FieldName + ' ASC'; end; smDownEh: sortstring := Column.FieldName + ' ASC'; smUpEh: sortstring := Column.FieldName + ' DESC'; end; //进行排序 try dataset.Sort := sortstring //dataset为实际数据集变量名 except end; end; end; 切记lookup型字段不可 做上述设置,否则系统会提示错误。 另外,组件说明书中提到不需要编写代码即可自动排序,但是不编写代码自动排序方法我还没找到,有知道的朋友烦请告诉我一声 啊!让我也对程序代码进行“减肥”。 、定制表格底部(footer)区域的汇总统计行 DBGridEh 组件可以在表格底部显示汇总行,如记录数合计、列字段累加和等信息。在FooterRowCount中设置底部显示的行数;然后在Footers 编辑器中添加一个或多个显示列,显示列可以是字段值累加和、记录数合计、字段值或静态文件等集合类型,可以在设计时在ValueType属性中设置,也可 在运行时通过设置Footers.ValueType指定其类型。其含义见下表: 切记设置DBGridEh.SumList.Active 为 True,才会进行汇总统计运算。需注意的是,如显示类型为不是当前列的累加和,则需在fieldname属性中指定汇总列,其它类型则无此要求。 C、定制表格数据单元外观 1、 根据不同字段值显示相应的小图片 如根据库存材料的不同状态在数据单元格中显示相应图片,具体设置如下: 添加一个imagelist组件 img1并在其中添加一组bmp,ico格式的图片。然后将需要显示图片的列的imagelist属性设置为img1;在keylist属性中添加实际数 据存储值,一行为一个值,切记一定要与imagelist中图片顺序一一对应,否则会张冠李戴,面目全非。还可在picklist中添加提示信息,也要求 是一行为一个值,并设tooltip为true,那么,运行时当鼠标移动到该数据单元格时在显示图片的同时还显示提示信息,怎么样,功能够强大吧!可使用 空格键或鼠标切换下一张图片,图片切换的同时也改变了实际存储数据值。也可通过shift+空格或鼠标切换为上一张图片。这样就实现了上下两个方向图片切 换。 2、 显示检查框(checkbox)外观 对于Boolean型字段值在dbgrideh组件中自动显示为检查框。通常情况下我们需将非Boolean 型字段值也此外观显示,如性别字段为字符型,字段值为“男性”时为选中,“女性”时为未选中。需要在keylist编辑器中设置实际存储数据值,第一行为 选中时的值“1”,第二行为未选中的值“0”,第三行为其它值“2”,支持三态显示。 3、显示单、多列下拉列表 根据单元格字段值显示与其相关的其它表 字段内容,如部门代码字段显示为部门名称。首先需在当前表中新建立一个lookup型字段,设置好关联表的字段和返回字段。多列下拉列表需在单列基础上做 进一步设置,在LookupDisplayFields中以“;”号将关联表中多个字段分隔开,而且返回字段必须作为其中的第一项。具体设置如下: dropdownshowtitles=true dropdownsizing=true dropdownwidth=-1 例:当前表中只有部门代码无部门名称列,需与部门表建立关联, 当点击单元格时以部门代码、部门名称两列下拉列表形式显示。 4、显示日历下拉列表 Date 和 DateTime类型字段值均可以此形式显示。外观与编辑框无异,当点击该单元格时,右侧会出现“▽”符号,点击之即可出现日历下拉列表。有时不希望出现 日历下拉列表,只需设置Column.ButtonStyle属性为 cbsNone即可,此方法同样适用于其它组件不以特殊外观显示的情况。 5、3D或平面外观效果 设 置OptionsEh属性 中fixed, frozen, footer 和 data rows等属性表格外观为3D效果,设置flat为true则为平面外观效果. 6、锁定多列不滚动 当表格水平方向信息在一屏幕显示不下时,此项功 能非常有用。例如,工资表格中包含姓名、基本工资、绩效工资等信息一屏幕显示不下,需要通过移动水平滚动条显示下一屏信息。如果不锁定关键字段列如姓名, 则移动到下一屏时就不知道此条记录对应的姓名。因此,在实际应用中经常需锁定多列不滚动。 例:姓名字段为表格第二列,则设置FrozenCols=2. 这样当一屏幕显示不下,通过移动水平滚动条显示下一屏信息时,表格前两列不滚动,作为参照列。 D、导入/导出数据 导入/导出数据在实际处理过程中是 比较烦琐的。但是Enlib3.0提供了一系列函数让你轻松实现此功能,而且支持的文件格式很多:Text, Csv, HTML, RTF, XLS 和内部数据格式。除此之外,还可对任意选择的数据区域进行操作。函数如下: Pascal: SaveDBGridEhToExportFile(TDBGridEhExportAsText,DBGridEh1,'c:\temp\file1.txt',False); C++: SaveDBGridEhToExportFile(__classid(TDBGridEhExportAsText),DBGridEh1,"c:\\temp\\file1.txt",false); 说明:其中 false参数表示导出的是选中的局部数据区域数据,true则为整个表格数据。 例:将当前表格中数据导出为EXCEL等格式文件。 在窗体中添加一 个SaveDialog组件和“导出”按钮B_exp,在“导出”按钮的click事件中添加如下代码: procedure TForm1.B_expClick(Sender: TObject); var ExpClass:TDBGridEhExportClass; Ext:String; begin SaveDialog1.FileName := 'file1'; if (ActiveControl is TDBGridEh) then if SaveDialog1.Execute then begin case SaveDialog1.FilterIndex of 1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end; 2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end; 3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end; 4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end; 5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end; else ExpClass := nil; Ext := ''; end; if ExpClass <> nil then begin if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext) then SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext; SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog1.FileName,False); // 其中false为局部数据 end; end; end; E、将存在的DBGrid组件转换为DBGridEh组件. 通过 笔者上述介绍,想必你已经对Enlib组件包产生好感而且越越欲试了,那就赶快下载使用吧。但是,使用一段时间并且喜欢上它后,你又有新的问题产生了,那 就是为了保持界面风格一致,能否将已经开发完成的应用程序中的DBGrid组件能否转换为DBGridEh组件,进行一次彻底革命?答案是肯定的。尽管 DBGridEh并不是继承于CustomDBGrid组件, 但是DBGridEh和DBGrid它们之间有许多相同之处.因此可以相互转换。 具体步骤如 下: 1、在Delphi IDE下打开TDBGrid组件. 2、通过组合键Alt-F12将form 以文本方式显示; 3、将所 有TDBGrid 对象名改变为 TDBGridEh对象名,如:DBGrid1: TDBGrid改为 DBGrid1: TDBGridEh; 4、 再次通过组合键Alt-F12将文本方式恢复为form 显示; 5、将form各相关事件中定义的所有TDBGrid改为TDBGrideh,如 DBGrid1: TDBGrid改为DBGrid1: TDBGridEh; 6、重新编译应用程序。 以上只是本人在实际程序开发过 程中使用dbgrideh组件的一些体会,当然其功能还远不止这些。欢迎朋友与我做进一步交流。 【原作者联系方式】 Email:bcbc422427@ Ehlib的 颜色控制及打印 很多说根据条件在数据网格中显示不同颜色的说法都是在DrawColumnCell事件里,这样显示没有问题,但在 ehlib中如果想打印出来可就不行了。 ehlib提供了GetCellParams事件,可以显示和打印 //只能显示,不能打印 procedure TfrmQueryContractInfo.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); var OldColor,OldColumnColor:TColor; v:TColCellParamsEh; begin { OldColor:=DBGrid1.Canvas.Font.Color ; if (Column.Field.FieldName = '填制调单时间') then if (DBGrid1.DataSource.DataSet.FieldByName('填制调单时间').AsDateTime >DBGrid1.DataSource.DataSet.FieldByName('应发货时间').AsDateTime) then begin //v:=TColCellParamsEh.Create ; //Column.GetColCellParams(true,v); //v.Font.Color :=clRed; //Column.FillColCellParams(v); //v.Free; DBGrid1.Canvas.font.Color := clRed; end; //Column.GetColCellParams .FillColCellParams() if (Column.Field.FieldName = '移交时间') then if (DBGrid1.DataSource.DataSet.FieldByName('移交时间').AsDateTime >DBGrid1.DataSource.DataSet.FieldByName('应移交时间').AsDateTime) then DBGrid1.Canvas.Font.Color := clRed; if (Column.Field.FieldName = '填制运输单时间') then if (DBGrid1.DataSource.DataSet.FieldByName('填制运输单时间').AsDateTime >DBGrid1.DataSource.DataSet.FieldByName('填制调单时间').AsDateTime) then DBGrid1.Canvas.Font.Color := clRed; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); DBGrid1.Canvas.Font.Color:=OldColor; } end; // 可以显示,可以打印 procedure TfrmQueryContractInfo.DBGrid1GetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState); var OldColor,OldColumnColor:TColor; v:TColCellParamsEh; begin //OldColor:=DBGrid1.Canvas.Font.Color ; if (Column.Field.FieldName = '填制调单时间') then if (DBGrid1.DataSource.DataSet.FieldByName('填制调单时间').AsDateTime >DBGrid1.DataSource.DataSet.FieldByName('应发货时间').AsDateTime) then AFont.Color := clRed; if (Column.Field.FieldName = '移交时间') then if (DBGrid1.DataSource.DataSet.FieldByName('移交时间').AsDateTime >DBGrid1.DataSource.DataSet.FieldByName('应移交时间').AsDateTime) then AFont.Color := clRed; if (Column.Field.FieldName = '填制运输单时间') then if (DBGrid1.DataSource.DataSet.FieldByName('填制运输单时间').AsDateTime >DBGrid1.DataSource.DataSet.FieldByName('填制调单时间').AsDateTime) then AFont.Color := clRed; if (Column.Field.FieldName = '实际到货时间') then if (DBGrid1.DataSource.DataSet.FieldByName('实际到货时间').AsDateTime >DBGrid1.DataSource.DataSet.FieldByName('要求到货时间').AsDateTime) then AFont.Color := clRed; //DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); //DBGrid1.Canvas.Font.Color:=OldColor; end; TDBGridEh 本 身就有的功能Demo中就有介绍 以下是参考文档! 3 使用 TDBGridEh 组件 理解 TDBGridEh, TDataLink 以及 TDataSet. All below text in equal degrees pertains as to TDBGridEh component as to TDBGrid component. A TDBGridEh control lets you view and edit records in a dataset in a tabular grid format. TDBGridEh does not story data in in itself, it only show data from dataset via TDataLink object. Every database control have internal TDataLink object to interaction with dataset. You can connect TDBGridEh to dataset using DataSource property. If you already use TStringGrid component you can see that data shows in TStringGrid and in TDBGridEh very similarly, but mechanism that use to show data in TStringGrid and in TDBGridEh very different. In TStringGrid count of rows is equal of rows in array of strings while in TDBGridEh (and TDBGrid) count of rows always not more then count of visible rows and although vertical scrollbar can display thumb position regarding the count of record in dataset it take info not from grid but directly from dataset. TDataSet don't allows us to work with data as with array of data i.e. we can not quickly get value of the field from certain record, some types of dataset have not even such notion as record number (in such datasets we can only know that we inhere in the begin of dataset or in the end of its or somewhere between, in that case DBGrid shows vertical vertical scrollbar only in three positions). But to have possibility to draw several record simultaneously TDataLink object allows to have buffer of records (record buffer window) with quick readonly access. DBGrid use this possibility of datalink and set size of record buffer window equal of count of visible rows in grid. We can not control what record must be first in this buffer, DataLink itself scroll record buffer window then we navigate through the dataset and it control the scrolling of record buffer window as that the active record as always in record buffer window. It is a reason why the active record change position when users change thumb position of vertical scrollbar using mouse. TDBGridEh和纵向滚动 条 If you works with different type of dataset you can notice that for some type of dataset DBGrid show vertical scrollbar validly but for over vertical scrollbar have only three position independently of record count in dataset. To set vertical scrollbar accomodation DBGrid use RecordCount and RecNo property of DataSet component. But some dataset and even same dataset under some condition holds -1 in RecordCount and RecNo. DataSet function IsSequenced indicates whether the underlying database table uses record numbers to indicate the order of records. When IsSequenced returns True, applications can safely use the RecNo property to navigate to records in the dataset and DBGrid use RecNo property to show thumb position in vertical scrollbar. But when IsSequenced returns False DBGrid can not define current record position and show vertical scrollbar in three positions. DBGridEh component have possibility to show proportional scrollbar for no sequenced dataset. To do it need to activate SumList and create list of record bookmars. Set SumList.Active to True and SumList.VirtualRecords to True. SumList will run through dataset and create list of record bookmarks, if you use client/sever technology to access database SumList will force dataset to fetch all records, so it operation can take much time. Keep in mind that VirtualRecords will work only for full relationship bookmarks dataset, it means that DataSet.ComapreBookmark function has to return > 0 if bookmark1 > bookmark1 (i.e. record to which indicates bookmark1 have to be after record to which indicates bookmark1), = 0 if bookmark1 = bookmark1, < 0 if bookmark1 = bookmark1. TBDEDataSet in most cases support full relationship bookmarks. 定制网格标题 复 杂标题 TDBGridEh 允许在多列上创建标题,例如: 设置 DBGridEh.UseMultiTitle 属性为 True 并且填充字段的标签或列标题的标题,可以使用下面的规则:字段标签中的文本展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




DBGridEh的用法.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/12005015.html