【多选】 TDBGridEh 允许在选定的区域上进行选择记录,列以及矩形区域等操作:
×允许多选会影响下面这些属性: Options 选项中的 dgMultiSelect 属性 - 设置是否允许多选。 Options 选项中的 dghClearSelection 属性- 设置在用户移到下一个单元时是否清除已选记录。 Options 选项中的 EditActions 属性 -设置用户可以在已选记录上执行哪些操作(比如,拷贝,剪切,删除,粘贴,全选等)。 Options 选项中的 AllowedSelections 属性-设置允许选定记录的类型(比如,行,列,矩形区域等)。 Options 选项中的 Selection 属性-设置一个当前的多选状态,已选记录,列或矩形区域以及存取它们的属性和函数。
【从注册表或ini文件中保存或恢复网格和列的层次】 TDBGridEh 有一个常规设置来从注册表或ini文件中保存和恢复网络以及列的层次: RestoreColumnsLayout - 从注册表中恢复列的次序,宽度,排序标志。 RestoreColumnsLayoutIni - 从ini文件中恢复列的次序,宽度,排序标志。 RestoreGridLayout - 从注册表中恢复列的次序,宽度,可视,排序标志,排序索引或行高。 RestoreGridLayoutIni - 从ini文件中恢复列的次序,宽度,可视,排序标志,排序索引或行高。 SaveColumnsLayout - 保存列的次序,宽度,排序标志到注册表中。 SaveColumnsLayoutIni - 保存列的次序,宽度,排序标志到ini文件中。 SaveGridLayout - 保存列的次序,宽度,可视,排序标志,排序索引或行高到注册表中。 SaveGridLayoutIni - 保存列的次序,宽度,可视,排序标志,排序索引或行高到ini文件中。
『以下内容仅供参考了,因为不知道它那个版本是多少,目前最新的版本是3.2吧,俺正在用,感觉很不错啊~~』 当前版本的TDBGridEh不支持的特性: TDBGridEh 不能设置每一个数据窗口中单独行的行高。 TDBGridEh 不能象TreeView那样工作。它不能拥有节点和枝叶。 TDBGridEh 不能横向或纵向合并数据单元。
【将已存在的TDBGrid组件转换为TDBGridEh组件】: 尽管TDBGridEh并不是从TCustomDBGrid组件继承而来的,但是在TDBGridEh和TDBGrid中还是有一些相似的属性。 它允许仅用一点点代价来转换已存在的TDBGrid组件到TDBGridEh。
【注意】:可以按照下面的提示来转转换已存在的TDBGrid组件到TDBGridEh: 在Delphi的IDE中打开包含有TDBGrid组件的应用程序。 设置视图方式为文本方式(Alt-F12)。 if key=VK_RETURN then //Key:回车 begin if (grdDetailData.SelectedIndex=grdDetailData.Columns.Count-1) and not (dgRowSelect in grdDetailData.Options) then BEGIN if (dgEditing in grdDetailData.Options) and (grdDetailData.Row=grdDetailData.RowCount-1) then //从表GRID能进行编辑和当前光标焦点在最后一行时 acAddDetailExecute(self) else begin grdDetailData.Row:=grdDetailData.Row+1; //改变光标焦点行到下一行(当为新增加时,这句不用运行 grdDetailData.SelectedIndex:=0 //改变光标焦点列到第一列 end; END ELSE BEGIN grdDetailData.SelectedIndex:=grdDetailData.SelectedIndex+1; while grdDetailData.Columns[grdDetailData.SelectedIndex].ReadOnly do grdDetailData.SelectedIndex:=grdDetailData.SelectedIndex+1; END; key:=0; end; if key=VK_INSERT then //Insert键:新增一条记录 begin acAddDetailExecute(self); key:=0; end; if key=VK_DELETE then //Delte: 删除一条记录 begin acDeleteDetailExecute(self); key:=0; end;
【页脚合计】 1、设置DBGRIDEH属性的FooterRowCount值为1; 2、设置DBGRIDEH属性的SumList的Active值为true; 3、设置你要求和的该列的Footer的ValueType类型为fvtSum; 4、运行OK! 在DataSet打开时写: DBGridEh1.Columns[0].Footer.Value := IntToStr DBGridEh1.DataSource.DataSet.RecordCount);
2003-12-5 16:56:13 Ehlib 的 DBGridEh 控件怎样才能像 dxDBGrid 控件那样输出文件到 EXCEL以下是EHLIB的导出代码:(其实EHLIB的DEMO1中已有)
procedure TInvoiceManager.ppmSaveSelectionClick(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,TDBGridEh(ActiveControl), SaveDialog1.FileName,False); end; end; end;
2003-12-5 17:05:48 Ehlib 在 Delphi 7 中的安装(我可是花了半天的力气才搞定的哦)Delphi 7中的安装方法
1. 把 EhLib 中的 common 和 DataService 文件拷贝到 Delphi7 目录中. 2.在 TOOLS->Environment Options->Library->Library Path 中添入EHLIB路径。 3.打开新建文件夹中的 EHLIB70.DPK ,编译一下,但不要安装。 4.打开Ehlib中的DclEhLib70.DPK,编译,安装 |