联系我们

  • 在线咨询:点击这里和我们联系
  • 在线咨询:点击这里和我们联系
  • QQ交流群:50011802 5408540
  • 热线电话:0756-3335860
  • 服务Email: support@ejun.cn

EjunGrid Delphi版本4.327 免费版 (2011-09-22发布) 本地下载
EjunGrid ActiveX 版本4.326(2011-5-24发布) 本地下载
乐表Lxcel 4.0 本地下载   绿色软件下载
EjunGrid演示例程Demo For Delphi 3.0.0.2 本地下载
EjunGrid用户手册4.1.4(2011-5-24发布) 本地下载
EjunGrid推介会幻灯片 Office2007格式 本地下载
EjunGrid推介会幻灯片 Office2003格式 本地下载

4.327 2011-09-22

  • add: 增加了新的ShowCellStyleDialog方法,让程序员可以控制弹出的单元格格式对 话框显示哪些属性页,用法如下 EjunDataGrid1.ShowCellStyleDialog([gspNumber, gspFont], gspNumber); 第一个参数是指定要显示的属性页,第二参数指定默认显示的属性页。
  • add: 给EjunSheetControl控件增加了DisableEditSheetName属性,设为True时,可以 禁止双击工作表标签修改工作表名称的功能。
  • add: 增加了OnSheetNameChange事件,当工作表名称被改变时会触发。
  • add: 增加了浮动图片的功能,可以通过鼠标拖动调整图片的位置和大小,可以设置图片的位置和大小是否随着单元格改变而改变。创建一个浮动图片的方法如下:
         var
           Shape: IZcImageShape; // 定义在ZcShapes单元
         begin
           // 创建一个Shape对象
           Shape := ZcShapes.TZcImageShape.Create(EjunDataGrid1);
           // 将Shape添加到表格中
           EjunDataGrid1.AddShape(Shape);
           // 从文件中加载图片
           Shape.LoadFromFile('d:\Sunset.jpg');
           // 设置图形的位置和大小
           Shape.SetBounds(100, 100, 300, 200);
           // 设置图形和单元格的锚定关系
           Shape.AnchorType := satAnchorPosSize;
           // 设置图形在Z轴的显示次序
           Shape.ZOrder := 5;
         end;
  • add: 读写Excel文件时,增加了读写是否显示0的选项
  • add: 保存ejun文件时,能够将公式计算结果保存到文件中,这样从文件中读取文件 之后不用马上计算公式就能显示单元格中的值
  • add: 增加OnSelectionDragMove和OnSelectionDragDrop事件,分别在拖动选择框和结束拖动 选择框时触发,你可以在OnSelectionDragMove事件中禁止拖动是否允许。
  • add: 增加OnSortRow和OnAfterSortRow事件,分别在开始排序和排序完成之后触发。
  • add: 保存文件时,新增了保存冻结行列信息
  • add: 新增了Date, Time, Now日期函数,在单元格输入包含这些日期函数的公式时,如果单元格 的格式字符串为空,则会被自动设置成日期时间型格式字符串。
  • add: 增加了EjunGrid.CellClass.DefaultFixedCellClass属性,可以用来指定自定义固定单元格 类型
  • add: 给Web插件版增加了About对话框
  • add: 给DropDownList类型单元格增加了AllowClear属性,设置是否用户使用Delete键清空单元格的内容,默认是不允许的。示例代码如下:
       
         EjunDataGrid1.CellTypes[2, 1] := cellDropDownList;
         EjunDataGrid1.Cells[2, 1].AddItem('item1');
         EjunDataGrid1.Cells[2, 1].AddItem('item2');
         EjunDataGrid1.Cells[2, 1].AddItem('item3');
         EjunDataGrid1.DropDownListCells[2, 1].AllowClear := True;
  • upd: 极大的优化了EjunTreeGrid的排序速度
  • fix: 修正了当设置了冻结行列,并且有合并单元格横跨了冻结线的时候,合并单元格 在冻结线左边的区域有时刷新不正常的问题。
  • fix: 修正了打印时如果指定打印2份,结果会打印4份的问题
  • fix: 修正了在Win7操作系统下,拖动选择框很闪烁的问题
  • fix: 修正了在Win7操作系统下,按tab移动选择框时,当列的宽度不相同时, 表格有时没有刷新的问题
  • fix: 修改了当EjunDBGrid设为DelayLoadMode模式时,复制整列时,有些行的单元格的值 没有复制到的问题,这是因为延迟加载模式,没有访问过的单元格数据还没有加载造成的。
  • fix: 修正了工作薄控件,当隐藏了一个工作表标签时,其他标签不能正确选择的问题

V4.326 2011-4-1

  • add: 给TZcGridSelectionDragObject增加了TargetRange属性,和Handled属性,TargetRange属性指明拖放的目标区域,Handled属性可以让程序员告诉EjunGrid不要执行表格的默认操作,这样程序员就可以在OnDragDrop事件中定义自己的操作,然后把Handled设置为True,告诉EjunGrid程序员自己做了处理,不再执行EjunGrid默认的操作。
  • add: 给EjunTreeGrid控件增加了CommandHistory属性,可以用来关联EjunCommandHistory控件来支持撤销功能。
  • add: 双击选择框的拖动手柄时,如果右边列下面的单元格都有值,则自动填充当前列下面的单元格。
  • add: 新增了三个Excel函数,RADIANS、DEGREES、CEILING
  • mod: 修改了当设置一直显示单元格按钮时(OptionsEx属性包含goxAlwaysShowButton选项)需要先选中单元格才能点击按钮,改为可以直接点击按钮;
  • upd: 优化了排序算法,排序速度得到大幅度提高。
  • upd: 增强公式录入功能,能够自动补全忘记输入的右括号;
  • fix: 修正了Delphi2010之上的版本,当Excel单元格中是纯数字,但单元格设置成了文本格式时,读入到EjunGrid中显示乱码的问题;
  • fix: 修改了当单元格文本长度超过255时,导出Excel后,Excel单元格文本显示不全的问题;
  • fix: 修改了对隐藏的树节点升级时,升级后树节点不会显示出来的问题;
  • fix: 修改了如果将竖直滚动条到最后,清楚所有树节点时,滚动条不停滚动的问题 ;

V4.325 2011-02-23

  • add: 增加了两个表格之间的拖放复制功能;
  • add: InsertCopyRows和CopyRows复制行时,会同时复制行高了;
  • add: 给EjunDBGrid表格控件增加了延迟加载的功能,只要设置DelayLoadMode:=True 即可开启该功能;
  • add: 新增了OnDelayLoadCellValue事件,单元格有三种状态(zcsReset, zcsLoade, zcsModified),初始时是Reset状态,从文件中加载数据后是zcsLoaded状态, 用户修改单元格值之后变成zcsModified状态。如果单元格处于初始状态,此时 访问单元格的值时,表格会触发OnDelayLoadCellValue事件,可以在该事件中 通过AsFloat,AsInteger,AsInteger等属性给单元格赋值。这种方式可以实现 表格的延迟加载数据,对于要装载大数据量时十分有用,不需要一次性将所有 数据填入表格,可以实现按需加载;
  • add: EjunDBGrid新增了CommandHistory属性,可以绑定EjunGridCommandHistory控件, 实现撤销功能;
  • add: 读取Excel文件时,能够读取Excel中指定的当前工作表序号了。ExcelRW辅助读 写对象增加了ActiveSheetIndex属性用来指明Excel文件中当前工作表的序号;
  • upd: 将表格对象的SelectRangle方法变更成了SelectRange方法,因为之前的单词拼写 错误;
  • upd: 当双击进入编辑状态后,没有做任何修改就直接确认退出编辑状态后,不再给单元 格赋值,这样也就不会再触发OnCellTextChange、OnCellValueChange等单元格值 变化事件;
  • upd: 图片框单元格缩放图片时,把直接拉伸改成保持宽高比例;
  • fix: 修正了当对表格列对象设置样式格式时,导出Excel时单元格格式没有了的问题, Excel中单元格没有自动继承列的格式,这是EjunGrid和Excel设计上的差异造成的, 这个版本专门做了兼容性处理;
  • fix: 修正了EjunDBGrid当有日期型字段时,装载大数据量数据表时会出现假死机的 情况;
  • fix: 修正了当设置表格的行数等于1,然后调用InsertRow插入行或者AddChild方法添 加树节点时,第一行会显示出不来的问题,需要用鼠标滚轮才能拖出来的问题;
  • fix: 修正了打印时,有时最右边的边框线打印不出来的问题;
  • fix: 修正了打印时同时设置自动适应纸张宽度和居左布局时,自适应纸张宽度没有 效果的问题;
  • fix: 修改了当页眉页脚设为自动行高时,页面设置对话框中页眉页脚设置表格内显示 不出内容的问题;
  • fix: 解决无法识别日期时间格式字符串中大写字母的问题;
  • fix: 解决当给单元格指定了数字格式字符串时,会让单元格指定字体颜色失效的问题;
  • fix: 修正了Paste(Mode: TZcGridPasteMode)方法传入的参数无效的问题, 无论传入 的粘贴模式是哪种,都是同时复制了值和格式;
  • fix: 修正了当开启撤销功能时,复制单元格时,不能复制字体的问题。
  • fix: 修改了单选框类型单元格,设置字体颜色之后,打印预览时显示显示为默认字体的 问题;
  • fix: 修改了给已经指定了名称的单元格,修改名称是会提示名称已存在的Bug,给单元 格指定名称可以这样做EjunDataGrid1.Cells[col, row].Name := 'MyName';

V4.324

  • add:新增双缓存功能,增强表格滚动时的平滑感,默认状态是没有开启双缓存的, 可以在FormCreate事件中写如下代码开启 EjunDataGrid.DoubleBuffer := True;
  • add: 增加了OnTreeNodeCheckChanged事件,当树节点的复选框选中状态改变时会 触发该事件
  • fix: 修正了在单元格中录入公式时,用鼠标点选单元格引用,如果固定行有多行,点选 的单元格和公式中引用的单元格不一致的问题。
  • fix: 调整了合并单元格中格式设置算法,上一行的单元格设置了底部边框线,合并下一 行的单元格时,不再清除上一行单元格底部边框线的设置。
  • fix: 修正了当单元格横向合并,纵向不合并时,删除一行,会导致单元格编辑状态不正 常的问题。

4.323

  • + 为Checkbox类型的单元格增加了撤销功能
  • + 增加了三个鼠标滚轮事件,分别是: OnMouseWheel; OnMouseWheelDown; OnMouseWheelUp;
  • + 增加了OnEndScrollVert和OnEndScrollHorz事件,当用户结束拖动滚动条时会触 发响应的这两个事件
  • + 支持工作表的名称使用数字了,表间公式引用可以支持名称为数字的工作表了;
  • - 修正了CheckBox类型的单元格,当给Checked属性赋两次False值时,复选框中 却显示打勾状态,如下: EjunDataGrid.CheckCells[x,y].Checked := False; EjunDataGrid.CheckCells[x,y].Checked := False;
  • - 修正了FastMM提示的有一小块内存泄露的问
  • - 修正了打印时单元格图片太小的问题
  • - 修正了打开页面设置对话框时,有时会弹出异常的Bug。

V4.3.2.2 2010-10-1

  • + 给RadioBox类型的单元格增加了ColumnCount属性,用来设置单选框分几列显示
  • + 增加了单元格格式对话框,可以通过ShowCellStyleDialog()方法显示该对话框
  • + 增强了光标自动跳转的算法,按方向键时能自动跳过锁定单元格和隐藏的行和列,对合并单元格的处理也更加智能了。
  • + 增加CurrentCycleMove属性,用来控制使用方向键移动选择框时,是否到了边界时,自动跳到下一行或者下一列。
  • + 增加了把列对象的Name, Tag, Formula三个属性保存到模板文件中的功能
  • + 增加了表格缩放功能,通过ViewZoom属性设置缩放比例,例如设置30,表示缩小到30%,缩放比例只影响表格的显示效果,不改变表格的实际尺寸,不影响打印
  • - 修正了当选择整行后,拖动选择框复制后,水平滚动条会滚动到最后的问题
  • - 解决了部分输入法输入中文时,在编辑框中会输入几个空白的问题
  • - 解决了当合并单元格过多时(合并单元格的数目超过500多个时),导出的Excel文件打不开的问题。
  • - 解决到当导出固定行固定列,或者有行列冻结情况时,导出的Excel文件会由于选择框位置不正确,导致不能单元格不能被选中或者鼠标滚轮不能滚动的问题。
  • - 解决了设计期多次使用右键菜单加载模板时,之前的格式信息不能被完全清除的问题

V4.3.2.1 2010-9-8

  • + 增加了按方向键移动选择框时,自动跳过锁定单元格的功能,前提是OptionsEx属性不包含goxCanSelectLocked选项
  • + 固定单元格样式FixedCellStyle增加一组颜色属性,包括表头背景颜色,高亮颜色,Hot颜色,高亮Hot颜色,通过搭配这些颜色可以实现各种风格效果,Ejun默认提供了经典风格、渐变色风格、Excel2007风格,默认是渐变色风格,这些风格实际上都是通过搭配这组属性实现的,你可以将VistualStyle设置为vsCustom,然后修改这组属性设计自己的风格,使Ejun表格和您的整个应用程序风格更加统一协调。

  • + 优化工作薄控件(EjunSheetControl)的绘制算法,在切换工作表时,非常平滑,不再有闪烁;
  • - 修改了调用树节点的ChangeParent方法会产生异常的Bug。这个在最新的DemoEjunLoadTree中有时会遇到这个错误;

V4.3.2 2010-9-2

  • + 新增了Excel2007风格类型,设置方法是VisualStyle := vsExcel2007
  • + 当表格设为行选模式时,选择框显示为渐变色,更加美观漂亮
  • + 增加ShowPostilDelay属性,用来控制批注框显示延迟时间,鼠标指向带有批注的单元格如果停留时间超过ShowPostilDelay指定的时间,就会显示批注框,单位是毫秒。
  • + 给OptionsEx属性增加了goxCanSelectLocked,goxCanSelectUnLocked两个选项,控制在表格处于保护状态下,是否允许选中锁定的单元格和非锁定的单元格,设置表格保护的属性是IsProtected := True;
  • + 给OptionsEx属性增加了goxAlwaysShowButton选项,当单元格是组合框和按钮类型是,控制按钮是否一直显示,而不管单元格是否是当前单元格。
  • + 日期下拉框点击今天按钮,可以自动定位日历中的今天
  • - 微调表格线画图算法,修正了高亮固定单元格边框线有时画不全的小问题使整个界面看起来更清爽了
  • - 修正了选择框边框有时会有点残缺,画不完整的问题,整个画面更加稳定了
  • - 修正了在设计期,点击表格单元格之后,单元格内容有时会消失的Bug
  • - 修正了保存CheckBox类型单元格信息,再次加载时提示找不到类型的Bug
  • - 解决了批注框显示太快导致的有时显示不全的问题。
  • - 修正了当固定行设为隐藏时,表格顶部有一条残影的问题
  • - 修正了Delphi2010版本编辑公式提示乱码的问题
  • * Undo,Redo两个方法参数被去掉了,一次只能执行一步,新增了UndoStep,RedoStep方法可以传入一个参数,指定撤销和重做的步骤。旧版的用户如果用到了这两个方法,需要调整一下。

V4.3.1 2010-8-16

  • + 为单元格对象增加了Note属性,可以用来保存二次开发用到的一些自定义信息,是字符串类型,该属性等同于Tag属性。
  • + 页眉页脚增加了Style属性,可以通过设置Style.ShrinkToFit:=True来自动缩小字体
  • + 现在可以将单元格类型保存到模板文件中了,包括单元格编辑框用到的数据,例如下拉框的列表,复选框的标题等都可以保存到模板文件中了
  • +最新功能,在保存Excel文件时,可以分多次将不同表格内容写入Excel文件的同一个Sheet中,这个功能太爽了,可以实现各种复杂的效果。
        ExcelRW := EjunDataGrid1.CreateExcelRW;
        try
             ExcelRW.WriteSheet(EjunDataGrid1, 'Sheet1',Rect(1, 1, 6, 5), // 表格区域
                 1, 1 ); // Excel中Sheet的目标位置

             ExcelRW.WriteSheet(EjunDataGrid1, 'Sheet1',
                 Rect(1, 8, 6, 15), // 表格区域
                 1, 6 ); // Excel中Sheet的目标位置
             ExcelRW.Save(SaveExcelDialog.FileName);
         finally
             ExcelRW.Free;
         end;
  • + 打印控件增加OnPreviewButtonClick事件,用来响应打印预览窗口上的按钮单击事件,程序员可以在该事件中控制,禁止让Ejun执行默认的操作,而执行程序员自己提供的操作。
  • + 优化了粘贴和清空较大区域单元格后自动调整行高的速度
  • + 打印控件增加了PreviewButtons属性,用来控制打印预览窗口工具栏,哪些按钮显示,哪些不显示,也可以控制状态栏是否显示,按钮会自动调整位置,保持布局的合理性。
  • + 增加了DefaultPasteFormat属性,用来指定粘贴时默认采用什么格式,目前有三个选项,pfAuto:自动; pfText: 使用文本格式; pfExcel:使用Excel格式。如果设置为自动,将根据系统剪贴板中的第一个格式,可以从选择性粘贴对话框中看到当前系统剪切板中所有格式列表。
  • + 新增复制图片到单元格中功能,如果当前剪贴板上是一幅图片,粘贴时会首先将图片添加到表格的图片列表中,然后当前选中的单元格类型会被改为图片框类型,图片索引会设置成刚添加的图片,这样单元格就可以刚复制的显示图片了
  • - 修改了如果选择区域中第一列所有单元格为空,复制到Excel时第一列会漏掉的问题;
  • - 在CellValueChanged2事件中继续改变其他单元格的值,不会重复触发该事件,方便大家编程。
  • - 修改了从Excel复制内容到EjunGrid中时,不会触发OnAfterPaste事件的Bug
  • - 打印控件的页边距属性单位从厘米改为了毫米,属性名称后面统一加了MM后缀,旧的属性不再使用,如果在代码中使用了这几个属性请注意修改,窗体文件中不用 修改,EjunGrid会自动兼容。

V4.3.0.9

  • + 增加了全新页面设置对话框,通过EjunDataGrid1.ShowPageSetupDialog()方法掉用;
  • + 表格控件增加了页面设置属性,保存模板文件时,会自动将页面设置一并保存,这 功能对做报表特别有用
  • + 打印控件增加了IsUseGridPageSetup选项,控制是否使用表格的页面设置属性, 如果设为True,将打印和预览时将忽略打印控件本身的页面设置,而采用表格控 件的页面设置,打印预览中对页面的调整也将保存到表格的页面设置属性中。
  • + 增强了打印预览功能,支持多页预览,在每一页都可以通过鼠标拖动调整页边距、 行高、列宽。
  • + 美化了打印预览界面
  • + 打印预览界面,增加了鼠标拖拽改变页面位置的功能,增加了键盘翻页的功能
  • + 打印预览界面,增加了是否显示页边距按钮,控制预览页面是否显示调整线
  • - 修改了Delphi2010版本,从Excel复制数据时出现乱码的问题;

V4.3.0.8 2010-7-26

  • + 增加了ColumnFormulas列公式属性,可以为列公式注册自定义函数,如下: EjunDataGrid1.ColumnFormulas.UserFunctions.Add('MyFunc', [ptNumber,ptNumber], ptNumber, 2, 2, StdFun_MyFunc);
  • + 导出Excel时,增加了冻结窗口的信息
  • + 增加了导出Excel默认单元格颜色为无颜色,这样就不会覆盖单元格边框线了
  • + 为EjunDBGrid增加了默认右键菜单,包含插入删除行,复制粘贴、选择性粘贴
  • + 为财务金额类型编辑框增加了Tab键跳转的功能,是客户录入操作更顺畅
  • + 增加了将Excel文件冻结行列导入成Ejun表格的表头和行头功能,反之也行, 将Ejun表格的表头和行头导出Excel文件时自动设置成窗口冻结。这为用Excel 制作表单的用户提供了便捷的功能。具体用法请参见Ejun Wiki相关内容 http://wiki.ejun.cn/wiki
  • + 增加了插入复制的行功能 EjunDataGrid1.Selection.InsertCopy();

V4.3.0.7 2010-7-13

  • + 优化了打印缩放,现在最小可以缩放到10%了
  • + 为EjunTreeGrid增加了保存树结构信息的功能
  • + 为EjunDBGrid增加了DataColumns属性,可以在属性编辑器中用DBGrid传统的方式 添加栏位并绑定字段了
  • + 变更了汉字录入的实现方案,让录入汉字时直接覆盖掉原来单元格中的文本,而不是在 后面追加,更加符合Excel的使用习惯
  • - 解决了EjunGrid内存泄露的问题

V4.3.0.6 2010-6-21

  • + 增强了缩放打印时,字体缩放的功能
  • - 修正了打印时合并单元格边框线打印不全的问题,这是因为有时用户操作不当引起的, 忆君优化了内部算法,更加智能,保证任何情况下都可以把表格线完美的呈现。

V4.3.0.5 2010-6-16

  • + 保存文件时增加了保存RowVisible属性的功能。
  • + 当按住Ctrl键多区域选择后,调用Selection.SetBgColor()等相关设置单元格风格 的方法时,现在会将所有选择区域同时设置了,以前版本只会设置最后选中的区域
  • + 优化了绘制单元格边框线的算法,同时实现了虚线、点划线、点点划线等线性

V4.3.0.4 2010-5-30

  • - 修正了手工创建的EjunSheetControl控件,没有带*号标签的问题。
  • - 修正了列公式中如果带有空格时会提示#Name无法识别的Bug
  • + 优化了列公式内部机制,不再需要程序员显式调用PrepareColumnsFormula方法
  • + 增加了Caculate(AFormula: string): Variant方法,方便程序员用来执行公式

V4.3.0 2010-5-10

  • - 修正了日期选择下拉框不能自动定位到单元格中当前设置的日期的问题
  • - 调整了按钮型单元格,当单元格高度变化时,按钮高度改为也跟着单元格变化
  • - 修正了自动调整行高时,对于横向合并单元格行高计算错误的问题。
  • - 修正了表格被其他窗口挡住又移开时,会留有拖影的问题
  • + 重新编写了词法分析器,能够智能的识别单元格中输入的文本,自动转换成对应的 整数、浮点数、日期、千分位、百分数,科学记数等格式类型。 例如输入3-3,会自动识别为日期类型,并显示成3月3日。 输入2009-1 会自动识别为日期类型,并显示成2009年1月 输入123,456789 会自动识别为整数类型,并显示为千分位格式123,456,789
  • + 增加了OnEditKillFocus事件,当单元格编辑框失去焦点,且即将获取焦点的 窗口句柄不是表格本身时触发该事件。
  • + 增强了Demo\EjunGridDsgn,演示类似Excel的公式输入框功能,公式输入框和 当前单元格的编辑框之间的同步。
  • + 自定义函数可以通过ACaller参数获取执行该函数的单元格坐标。 ACaller.SheetIndex ACaller.Col ACaller.Row
  • + 当单元格处于编辑状态时,通过程序对单元格对象赋值,现在编辑框可以立即 得到刷新,以显示单元格内容的变化
  • + 增加了新的OnCellValueChanged2事件,和老的OnCellValueChanged事件作用一样, 但是参数更直观了。 OnCellValueChanged2(Sender: TObject; Col, Row: Integer); Sender表示表格对象 Col, Row分别表示发生变化的单元格的列坐标和行坐标
  • + 增强了撤销功能,新增对一下功能的撤销支持:合并单元格、设置边框、设置单
    元格背景颜色、自动填充、拖放、复制、剪切
  • + 增强了复制粘贴功能,可以支持合并单元格的复制粘贴
  • + 又一强大的功能:支持多工作薄之间的公式引用
  • + 增加了公式引用中对中文工作表名的支持
  • - 修正了公式计算中函数参数不能为空的Bug
  • - 调整了注册自定义函数的方法参数,所以使用旧版本注册自定义函数的代码无法
    编译通过,但更正非常简单: 是否是动态参数,改成了最小参数个数和最大参数个数。

V4.2.9

  • - 解决了公式=3*2^2计算错误的问题,应该优先计算^。
  • - 解决了形如公式=IF(True, 1, 1/0) 提示被0除的问题,因为第一个参数为True, 所以即使第三个参数有错误,IF函数也能正确返回第二个参数的值。
  • + 改进了单元格编辑框,能自动根据输入内容的长度自动调整输入框的尺寸,使 录入长文本更加方便。
  • + 为多工作薄控件增加了OnNewSheet事件
  • + 为多工作薄增加了ShowTabset属性,控制是否显示工作表的标签栏。

V4.2.8

  • + 为单元格对象增加了Select方法,用来方便选中某一个单元格, 用法: EjunGrid.Cells[1, 3].Select();
  • + 增加了报表缩放功能,能够将表格缩放打印到报表上, 通过设置EjunGridPrinter.Zoom属性控制缩放比例,单位为 百分比,例如EjunGridPrinter.Zoom := 80;
  • - 修改了打印事件OnBeginPage,OnEndPage传递的APageIndex不准确的Bug

V4.2.7

  • + 增加在单元格输入公式时,可以像Excel一样通过鼠标选择需要引用的单元格,可以 在不同的工作表中选择单元格, 同时会以闪烁的虚线框标识出正在选择的区域。
  • + 给单元格增加了批注功能,有批注的单元格会在右上角显示红色的三角形标识,鼠标 移到该单元格时,会在旁边弹出文本框,显示批注的内容。 添加批注的方法是:EjunGrid.Cells[1, 1].Postil := '这是单元格的批注';
  • + 增加保存单元格Tag,Postil属性到文件中的功能。
  • - 解决了当窗体设为置顶时,下拉框无法显示出来的问题。

V4.2.6

  • + 增加了IsProtected属性,指明表格是否受保护,只有受保护的表格,其单元格被设 为Locked时才会被锁定,否则即使单元格Locked属性设为True,也是可以被编辑的, 保持与Excel行为一致;
  • + 增加了斑马线风格,即奇偶行交替显示两种不同的颜色,设置ZebraRowColor属性为 True即可,同时可以通过OddRowColor和EvenRowColor分别设置奇数行和偶数行的颜色。
  • + 增加了选择性粘贴功能

V4.2.5

  • + 增强导入Excel功能,可以导入Excel公式了。
  • + 保存文件时,增加了保存复选框类型单元格的功能。
  • + 增强设置单元格的数字格式的设置,支持当数值大于0、小于0或者等于0 不同状态时显示不同的颜色, 例如:EjunGrid.Cells[1, 1].Style.FormatString := '0.00_);[Red](0.00)';
  • + 给行对象增加了CustomHeight属性,当该属性为true时,自动调整行高时不会调 整该行。
  • + 给EjunTreeGrid控件增加了TreeIndent属性,用来指定树节点缩进距离,默认 是20像素
  • - 修改了执行clearAll后还会把上次显示的末一行内容显示到表头上的问题
  • - 解决了导出Excel时,数字格式没有导出的问题,例如在EjunGrid数字显示为 1,234.00,但导出到Excel中时显示成了123

V4.2.4

  • + 优化了导入Excel大数据量的速度
  • + 增加多语言字符串资源翻译管理控件TEjunMultiLang,当我们开发多国语言版本的 程序时,拖放该控件到主窗体上,然后双击控件会弹出资源编辑对话框,在对话框 中输入对应语言的字符串,点击确定。在程序运行时设置LangIndex来切换不同语言。 LangIndex对应多语言编辑对话框中的表格列。
  • - 修正了EjunSheetControl控件在切换活动工作表时,滚动条不能正确反映当前活动 工作表的列数
  • - 修改了设置固定行列数量的Bug

V4.2.3

  • + 增强公式计算的单元格引用方式,不仅可以用A1:B2来引用单元格区域,还可以用 A:A来表示对第A列整列的引用。例如=SUM(A:A);表示计算第一列所有单元格的和。
  • + 增加了设置表格线打印宽度属性,单位为缇,1缇等于1/20磅,1磅等于1/72英寸。
  • - 修正了SUM()函数计算不正确的BUG。
  • - 修正了设置居中打印时,会向右偏移的问题。
  • - 修正了当数据行很多时按Ctrl+C复制很慢的问题。
  • - 修改了EjunDBGrid,当直接调用DataSet.Insert插入新纪录后,表格光标不能自动 定位到新记录所在的行的问题。

V4.2.2

  • + 增加拖动行改变行位置的功能,首先把Options属性的goRowMoving选项打开, 按下Alt的同时拖动行头即可拖动行到其他位置。
  • + 给EjunSheetControl控件增加了OnTabSetMouseDown事件和OnTabSetMouseUp事件, 当用户用鼠标点击多工作薄的Tab页签时触发这两个事件。
  • - 解决了当弹出下拉框之后滚动鼠标滚轮,表格容易被锁死的Bug.
  • - 解决了当弹出下拉框之后,鼠标点击其他地方取消选择时,当前选中项任被改变的问题。

V4.2.1

  • + 增加了打印预览面板控件TEjunGridPreviewPanel,程序员可以用来开发自己的 打印预览窗口。把预览面板控件拖放到窗体上,设置GridPrinter属性等于 TEjunGridPrinter控件,写如下代码就可以显示预览报表了 EjunGridPrinter.BuildReport; EjunGridPreviewPanel.Refresh;
  • + 增强了撤销功能,增加了对复制粘贴,拖动,填充, 插入行等操作的撤销功能。
  • + 对一些常用的操作方法增加了一个状态参数,用来指定是程序员代码调用,还是 最终用户操作表格时引起的调用.
  • + 实现了选择框单选功能,一次只能选择一个单元格, 可以设置Options属性 不包含goRangeSelect选项即可实现这种效果。

V4.2.0

  • + 给树表控件EjunTreeGrid的树节点增加了图标和CheckBox功能,CheckBox有 三种状态,定义了如下枚举值:
    TZcTreeCheckState = (csNone, csUnchecked, csChecked, csPartiallyChecked); csNone表示不显示CheckBox。
    csPartiallyChecked表示部分Checked状态,当 一个节点所有子节点中部分打勾部分不打勾,这个节点就会处于部分Checked状态 给父节点打上勾,所有的子节点都会被自动打上勾,为了取消这种级联勾选功能 可以设置CascadeChecks属性为False;
  • + 调整了单元格中显示多行文本时的行间距,和与边框的间隙,使之随着字体的改变 时自动调整,使显示和打印排版达到最佳效果。
  • - 修改了ComboBox类型单元格和日历类型单元格下拉框,当程序失去焦点时不能 自动关闭的问题。

V4.1.9

  • + 增强了打印预览功能,可以连续滚动显示多页
  • + 增加了固定单元格表格线颜色属性 FixedCellStyle.GridLineColor EjunGrid现在的默认风格采用了Excel2007的风格,可以设置VisualStyle属性 等于vsClassic,该属性具有以下值:
    TZcGridVisualStyle = (vsDefault, vsClassic, vsGradient, vsCustom);
    控制表格风格实际上是如下属性:
    FixedCellStyle.ShowGradient := False;
    FixedCellStyle.GridLineColor := clBtnShadow;
    FixedCellStyle.BgColor := clBtnFace;
    GridLineColor := clSilver;
    设置VisualStyle属性时EjunGrid内部会设置这些属性,如果用户想自定义这些 属性值,必须把VisualStyle设置为vsCustom.
  • + 采用Ole剪贴板,按Ctrl+C复制表格中的内容时,只是放了一个句柄到系统剪贴板 上,并没有把真实数据放到剪贴板上,只要当某个程序按了Ctrl+V要从剪贴板上 粘贴数据时,表格才会传送真实的数据,这样有利于大量数据的复制效率。 如果表格正处于复制状态(复制选择框在闪烁),这是清空表格,再按Ctrl+V粘贴时, 将为得不到数据,粘贴之间源数据已经被清空了,为了解决这个问题,可以在清 空表格内容之前,调用EjunDataGrid.FlushClipboard方法,强制把复制的数据放到 系统剪贴板上,这样既使表格被清空,粘贴目标也能从剪贴板上得到正确的数据。
  • + 增加了BackgroudImage属性,可以设置表格的背景图片
  • + 实现了选择框的半透明效果,因为半透明效果有一定性能损失,所以默认是关闭的, 打开可以设置Selection.AlphaBleand属性为True,如果设置表格背景图片后再打开 半透明效果,效果非常棒。
  • - 修正了当单元格是自动换行,并且列的宽度调整到只有一个字符宽度时,单元格中 文本显示会超出单元格范围的Bug。
  • - 修正了打印预览时,自动换行文本会超出单元格范围的Bug.

V4.1.8

  • + 增加了从Excel复制数据和格式到EjunGrid中的功能,以前只能复制数据;
  • + 增加了设置表格线颜色的功能;
  • + 增加了在EjunGrid中按Ctl+C键,表格会显示复制闪烁框,当剪贴板被其 他程序写入数据时,EjunGrid自动取消复制状态的功能。
  • - 修改了升级到V4.1.7版本之后,在单元格输入小数点会弹出异常的Bug;

V4.1.7

  • - 修改了多工作表控件,非第一个工作表的单元格公式中引用第一个工作表的 单元格无效的问题。
  • + 增加了用鼠标点选单元格输入公式的功能,类似Excel。

V4.1.6

  • - 修复了不能横向拖动填充的问题
  • + 给工作薄控件增加了新增工作表的Tab标签
  • + 给工作薄增加了双击Tab标签可以编辑工作表名称的功能。
  • + 给工作薄增加了EjunSheetControl.NewSheet(ASheetName: WideString) 添加工作表的方法。
  • + 给工作薄增加了EjunSheetControl.Delete(AIndex: Integer)删除指定序号工作表的方法。

V4.1.5

  • - 修复了列公式无效的问题
  • - 修复了表头显示多语言时出现乱码的问题

V4.1.4

  • - 修改了4.1.3引入的设计期不能用鼠标拖动改变列宽的Bug
  • - 修改了EjunSheetControl控件当删除当前工作表会产生异常的错误
  • - 修改了鼠标拖动改变列宽时非表格区域会出现白条的问题。

V4.1.3

  • + 为打印预览窗口增加了页面设置按钮,点击该按钮会触发打印控件的 OnPageSetup事件
  • - 解决了点缩放后,预览界面线条和字乱了的问题
  • - 解决了处于编辑状态的系统菜单没了的问题
  • - 解决了多工作薄控件复制有时产品异常的问题

V4.1.2

  • + 增加了公式复制功能,能够类似Excel的复制公式功能,能够自动修改单元格 的相对引用地址。
  • + 修改了=Average(A1:C1)公式,如果A1:C1单元格中全部为空值时会弹出异常 的Bug
  • - 解决了导出Excel文件,Excel2003不能打开的问题

V4.1.1

  • + 为数值类型的单元格增加了格式字符串的功能, 格式与Excel完全兼容
    EjunGrid.Cells[1,1].Style.FormatString := '上午/下午h"时"mm"分"ss"秒"';
    EjunGrid.Cells[1,1].Style.FormatString := '#,##0.000';
  • + 增加保存公式的功能
  • + 增加了保存单元格格式字符串的功能
  • - 优化了保存速度,解决了当行达到几十万行,保存数据非常慢,出现假 死机的情况。

V4.1.0

  • + 优化了公式计算,支持多工作表之间的相互引用,能自动检测公式中是否存在 循环引用。
  • + 增加了用户自定义函数,使用如下:
         // 定义自定义函数
         function TForm1.BianChangFunc(ACaller: TZcValue;
             const Args: array of TZcFormulaValue): TZcFormulaValue;
         begin
             Result.ValueType := fvNumber;
             Result.VNumber := Power(Power(Args[0].VNumber, 2)
                 Power(Args[1].VNumber, 2), 0.5);
         end;
         // 注册自定义函数
         procedure TForm1.FormCreate(Sender: TObject);
         begin
             // 注册求直角三角性斜边长的公式
             EjunSheetControl1.UserFunctions.Add(
                 'BianChang', // 自定义函数名称
                 [ptNumber, ptNumber], // 参数类型
                 ptNumber, // 返回值类型
                 False, // 是否动态参数个数
                 BianChangFunc); // 自定义函数地址

             // 可以直接在单元格中输入=BianChang(3, 5);
             // 或者用代码设置单元格公式
             EjunSheet1.Cells[1, 1].AsFloat := 3; {A1}
             EjunSheet1.Cells[1, 2].AsFloat := 4; {A2}
             EjunSheet1.Cells[1, 3].Formula := 'BianChang(A1, A2)';
             EjunSheet1.Formulas.Calculate;
         end;
  • - 修改了读取Excel文件时当单元格设置成文本样式时EjunGrid会将文本转换成数字, 没有保留文本样式。

V4.0.1 2008-3-4

  • + 增加了保存多工作薄到文件的功能, 第二个参数指定是否保存固定单元格
    EjunSheetControl.SaveToFile(FileName, SaveFixedCell);
    从文件中读取多工作薄
    EjunSheetControl.LoadFromFile(FileName);
  • - 修改了下拉框放到屏幕最左边时会超出屏幕的问题。

V4.0.0 2008-3-3

  • + 优化了绘制单元格多行文本的效率
  • + EjunGrid从4.0版本开始提供对Unicode的支持,能够读写包含多语言文字 的Excel文档

V3.3.0 2008-2-11

  • + 增加了多工作薄控件TEjunSheetControl, 类似Excel样式的一个工作薄中有 多个工作表,用法类似TPageControl,在设计期点击右键菜单选择New Sheet 菜单项可以添加新的工作表。运行期可以通过如下代码添加工作表
        procedure AddSheetButtonClick(Sender: TObject);
        var
             Sheet: TEjunGridSheet;
        begin
             Sheet := TEjunGridSheet.Create(Self);
             Sheet.SheetControl := EjunSheetControl1;
        end;
  • + 增加了新的单元格类型, 中国财务凭证风格的货币单元格cellCurrency
    EjunGrid.Columns[2].CellType := cellCurrency;
    默认是两位小数,保留三位小数可以指定格式化编号为1002;
    EjunGrid.Columns[2].Style.FormatIndex := 1002;
  • + 增加Undo,Redo功能,即撤销功能 默认是没有开启该功能的,在窗体上放置一个TEjunGridCommandHistory控件, 然后把EjunGrid的CommandHistory属性指向这个控件即可开启Undo,Redo功能
  • - 修改了运行时表格的列宽与设计期指定的列宽不相符的Bug
  • - 去掉了过时的CellFrame属性, 打开使用老版本EjunGrid的窗体时会提示找不到 属性,点击忽略即可.

V3.25.12 2008-1-11

  • - 修改了日历下拉框到屏幕最左边时,时会有一截在屏幕以外的Bug
  • - 修改了Combobox类型的单元格当AllowInsertText属性设为False时, 下拉选择改变不了单元格的值的问题
  • + 增加了ExcelRW辅助类,可以用来将多个表格写入一个工作薄的多个 Sheet中,也可以用来读取工作薄中有多少个Sheet;
    EjunGrid提供了一个类方法用来创建辅助类EjunDataGrid.CreateExcelRW; 典型用法:
        with EjunDataGrid.CreateExcelRW do
        try
             Write(Grid1, 'Sheet1', True);
             Write(Grid2, 'Sheet2', True);
             Save('d:\ejun.xls'
        finally
             Free
        end;

V3.25.11 2007-12-27

  • + 为EjunDataGrid增加了DataColumns属性,可以在设计器中设计表格的列属性
  • + 为EjunDBGrid增加了拖动复制功能,按Ctrl拖动复制功能,操作类似Excel.

V3.25.10 2007-12-7

  • + 增加了拖动复制时可以对浮点数进行递增的功能。
  • + 增加了导出日期到Excel中的功能
  • - 修改了导出到Excel都无法打开单元格属性对话框的问题

V3.25.9

  • + 增加了交换行、交换单元格功能
    交换行 EjunGrid.ExchangeRow(Row1, Row2);
    交换单元格 EjunGrid.ExchangeCell(Col1, Row1, Col2, Row2);
  • + 增加了拖动复制时按住Ctrl键递增复制的功能,类似Excel的行为
  • - 优化了TEjunTreeGrid,提高了节点加载速度和删除速度,可以轻松应对大数据量
  • - 修改了隐藏行、列能够被拖出来的问题

V3.25.8

  • + 增加了用户自定义函数功能,请参见Demo中的GridDsgner。 添加自定义函数,首先按照规定格式声明实现函数,如下
        // 该方法接收两个数字类型的参数,返回最大的一个
        function TForm.UserFunc_Max(ACaller: TZcFormulaItem;
             const Args: array of TZcFormulaValue): TZcFormulaValue;
        begin
             // 设置返回值的类型
             Result.ValueType := ttNumber;
             if Args[0].VNumber > Args[1].VNumber then
                 Result.VNumber := Args[0].VNumber
             else
                 Result.VNumber := Args[1].VNumber;
        end;
        // 将自定义函数注册到EjunGrid中,如下
        procedure TForm.Form1Create(Sender: TObject);
        begin
             //函数注册,参数分别是:方法的ID, 方法的名称, 方法的参数集合,
             //方法的返回值,是否是动态参数,方法指针
             EjunDataGrid.Formulas.UserFunctions.Add(2, 'MAX',
             [ptNumber, ptNumber], ptNumber, False, UserFunc_Max);
        end;
    使用函数,在单元格中就可以输入公式使用该函数,=Max(3, 2)
  • + 为表头增加了排序指示小三角,用户单击小三角对给指定的列进行排序, 支持升序和降序两种排序方式要显示排序小三角需要设置ShowHeadMenu := True;
  • + 增加了TEjunTreeGrid的按节点排序功能

V3.25.7

  • + 增加了公式计算功能, 支持用户自定义公式
    EjunGrid.Formulas[1, 1] := '1 * (2
  • + 3)';
    EjunGrid.Formulas[2, 1] := 'IF(A1>0, A1, "NoValue")';
  • + 新增了日期选择框单元格类型
    EjunGrid.Cells[x, y].CellType := cellDatePicker;
    EjunGrid.Columns[x].CellType := cellDatePicker;

V3.25.6

  • + 为列对象增加了Formula属性, 可以为列设置公式, 某一列中的值根据其他列中的值计算得来
    例如: EjunDataGrid.Columns[1].Formula := 'price';
    // 为这一列命名, 方便公式列引用,
    // 如果不被其他列引用,可以不设
    EjunDataGrid.Columns[2].Formula := 'count';
    EjunDataGrid.Columns[3].Formula := '=price*count'; // 设置公式
    设置完成后要先预处理公式,这样在可以提高计算速度
    EjunDataGrid.PrepareColumnsFormula;

    当我们改变了某一行第一列或者第二列单元格得值时,可以调用
    EjunDataGrid.CalcRow(RowIndex) 方法来计算该行中所有公式
  • + 增强了拖动填充功能,可以处理形如
    D123-00001号
    D123-00002号
    格式的顺序填充。
  • + 增强了导入导出Excel的功能,可以把多个EjunGrid保存到一个Excel文件中不同的Sheet
    例如:
    with EjunGrid1.CreateExcelRW do //先创建Excel读写对象
    try
         // 将多个EjunGrid控件内容添加到Sheet表单中
         WriteSheet(EjunGrid1, 'Sheet1', False, False);
         WriteSheet(EjunGrid2, 'Sheet2', False, False);
    // 保存到文件
         Save('d:\test.xls');
    finally
         Free; //记得释放Excel读写对象
    end;

V3.25.5

  • - 修改垂直方向滚动表格时, 可以滚动得只剩下一行的问题.
  • - 修改了打印预览页眉行之间间距过大的问题
  • - 修改了3.25版本后多行文本单元格打印不显示的问题
  • - 修改了3.25.3后某些版本会出现内存泄漏导致程序崩溃的问题
  • + 为TEjunDataGrid的Columns对象添加了CellItems属性,该属性是TStrings类型, 当该列的单元格是cellComboBox类型时,下拉列表的内容将从 Columns[Col].CellItems属性中获取。 例如:
        EjunDataGrid.Columns[1].CellType := cellComboBox;
         EjunDataGrid.Columns[1].CellItems.Add('aaa');
         EjunDataGrid.Columns[1].CellItems.Add('bbb');
  • + 增加了保存单元格图片到文件中的功能。

v3.25.3

  • + 增强了TEjunDBGrid的功能, 增加了字段编辑器, 在设计期通过邮件菜单,点击字段 设计器调出在运行期可以通过如下代码调出 EjunDBGridDesigner.Execute(EjunDBGrid);
  • + 为TEjunDBGrid增加了LoadDataConfigFile和SaveDataConfigFile方法,用来从 配置文件中加载表格的字段的设置和保存配置到文件中.
  • + 为TEjunDBGrid增加的公式计算功能, 假如有Count,Price两个字段,那么可以新增 一列标题为金额, 字段填上公式=Count*Price, EjunDBGrid会自动计算该列 注: 字段不能是中文名称
  • - 解决了显示多行文字的单元格中斜线画不出来的Bug
  • - 解决了插入行是整个表格刷新导致闪烁的问题

v3.25

  • + 增加了TEjunDataGrid控件,该控件在EjunGrid的基础上引入了一套新的标准单元个类型,
        cellDefault, 默认类型,就是文本框类型的单元格
        cellTextBox, 文本框类型的单元格
        cellCheckBox, 复选框类型的单元格
        cellRadioBox, 单选框类型的单元格
        cellComboBox, 下拉组合框
        cellNumberSpin, 数字旋转按钮类型
        cellChart, 图标类型
        cellEllipsisBtn (...)按钮类型
        可以这样设置单元格类型:
        EjunDataGrid.CellType[2, 3] := cellRadioBox;
        可以设置一列的单元格类型
        EjunDataGrid.ColumnCellType[3] := cellComboBox;
        详细演示可以看安装目录下的Demo\EjunTreeGrid
  • + 为TEjunDataGrid增加了合计行功能,通过属性FooterRowCount指定合计行的行数, 通过EjunDataGrid.FooterCells[Col, Row]访问合计行的单元格
  • - 修改了EjunTreeGrid即使添加了BeginUpdate, EndUpdate语句后用Tree.AddNode 方法添加节点时也会不停刷新屏幕的问题。
  • - 修改了自动调整行高有时行高计算不准确的问题

v3.24

  • - 导入Excel文件时可以将行列锁定信息也导入到EjunGrid中
  • - 修改了拖动滚动条时,合并单元格显示有时会凌乱的问题
  • - 修改了导出到Excel后,不能设置单元格属性的问题
  • + 优化了表格绘制方式,绘制速度更快更流畅
  • + 增加了行排序功能SortRow(Col, 升序); 第一个参数指明按照第几列的内容进行排序, 第二参数是布尔性指明升序还是降序
  • + 增加了拖动列的功能,首先在Options属性中选中goColMoving选项, 然后选择列头, 按住Atl键拖动鼠标开始拖动选中列
  • + 增加了设置表格背景透明的功能,设计期可以设置OptionEx属性使之包含goTransparent选项, 运行期可以通过设置 TransparentBackground := True;
  • + 增加了标题行渐变颜色的风格,打开该风格可以通过设置属性 FixedCellStyle.ShowGradient := True;

v3.23

  • - 修改了打印预览窗口中,进行打印设置时,设置纸张大小需要设置两边才有效.
  • - 修改了表格最后一行单元格边框线不能显示的Bug
  • - 修改了单元格中带有换行的文本导出到Excel中时没有自动换行
  • - 修改了DBGrid列头不能显示字段名称的Bug

v3.22

  • + 增加了OnSelectionChange事件,当选择框的选择范围时将触发该事件
  • + 增加了三个当单元格处于编辑状态时会触发的键盘事件: OnEditKeyDown; OnEditKeyUp; OnEditKeyPress; 通过这三个事件就可以响应单元格编辑框的键盘事件
  • + 增加了在单元格中显示图片的功能,具体做法如下:
    先将单元格类型设为TZcImageCell, 这个类在ZcStdCells单元中定义。
    EjunGrid.CellClass[3, 3] := TZcImageCell;
    然后添加图片,现在Form上放一个Image控件,然后写如下代码
    I := EjunGrid.AddImage(Image1.Picture.Graph);
    给单元格指定图片索引值
    EjunGrid.Cells[3, 3].AsInteger := I;
    也可以直接从文件中加载图片
    EjunGrid.Cells[3, 3].AsInteger := EjunGrid.LoadImage('d:\a.bmp');
    设置图片对齐方式:
    EjunGrid.Cells[3, 3].Style.HorzAlign := haGeneral|haLeft|haCenter|haRight;
    记得引用ZcGridStyle单元,对齐方式定义在该单元文件中。
    haGeneral: 图片自动缩放成单元格大小
    haLeft: 图片左对齐
    haCenter: 居中对齐
    haRight: 右对齐。
  • + 完善EjunDBGrid控件,可以将连接数据源,可以插入新的行,可以将编辑后的 单元格保存到数据库中
  • + 增加了goIgnoreMouseWheel属性(OptionsEx),忽律鼠标滚动滚轮,这在做 固定表单时特别有用
  • + 增加了对输入法的支持,可以为不通的单元格指定不同的输入法,通过响应 OnCurrentChanged事件,当用户选择不同的单元格使触发该事件,可以在 该事件中动态指定输入法。
    例如:
         procedure TForm1.EjunGrid1CurrentChanged(Sender: TObject; Col,
         Row: Integer);
         begin
         if Col = 2 then
             EjunGrid1.ImeName := '紫光拼音输入法'
         else
              EjunGrid1.ImeName := '';
         end;
  • + 增加了OnShowEditor、OnHideEditor、OnCompleteEdit事件。 当编辑框显示时触发OnShowEditor事件,事件的原型时TNotifyEvent。 当编辑框关闭时触发OnHideEditor事件,事件的原型时TNotifyEvent。 当编辑框即将关闭时触发OnCompleteEdit事件,事件的原型是: TZjGridCompleteEditEvent = procedure(Sender: TObject; const ACoord: TPoint; const AText: string; var Allow: Boolean) of object; 如果不允许编辑器关闭,可以将参数Allow设为False;
  • - 修正了当EjunGridPrinter.AutoPageHeight设为True时,打印预览会 提示'文件已存在'的错误。
  • - 修正了当行数(RowCount)查过65536行时,滚动条滚动不正确的Bug,现在 可以轻松支持百万行的数据
  • - 优化EjunGrid的内部实现,改善了当行数非常大时(超过10万),关闭表格会 比较慢的情况。
  • - 修正了当合并单元格右边线等于表格的右边界时,设置表格线会产生异常的Bug
  • - 修正了导出Excel时单元格边框线不完整的Bug
  • - 修正了导入Excel时,数字和字符串对齐方式不准确的Bug
  • - 修正了导入Excel时,不能正确导入公式计算结果的Bug
  • - 修正了打印时,打印只有一行记录和一行标题时 打印时没有显示的Bug
  • + 在导入Excel文件时,可以根据SheetName导入指定的Sheet, 新增的方法如下: EjunGrid1.LoadFromExcel('E:\Book1.xls', 'sheet1');

v3.21

  • - 修改了当选择模式设置为行选时, Selection.RowCount总是返回0的错误
  • - 修改了当给EjunGridPrinter控件设置OnBeginPage事件后,打印产生异常的Bug
  • + 给打印控件增加了GridCellInPageIndex方法,用来获得Grid的单元格打印时所在的 报表页面,在调用这个方法前,要调用一下BuildReport方法.

v3.20

  • + 给EjunGridPrinter控件增加了PaperSize属性,可以指定纸张的大小
  • + 可以根据要打印的内容自动自定义纸张的高度,主要用在打印连续纸的时候, 有多少内容就走多少纸,而不是每次都走完整张。该功能通过设置属性 AutoPaperHeight属性来实现
  • + 增加了对自定义纸张大小的支持,先将PaperSize设为psUser,然后设置 PaperWidth和PaperHeight属性,这两个属性的单位是cm. 如果PaperSize不等于 psUser, 这两个属性将被忽略
  • - 修改了在打印时隐藏列会显示出来的Bug
  • - 增加了EjunDBGrid控件,可以连接数据库

v3.1

  • - 修正了当表格行数超过3万多行时,拖动滚动条到3万行左右时会自动跳回第一行的Bug
  • - 修正了导入某些超大Excel文件(超过6万行)时,出现超出范围的错误。
  • - 修正了无法导入某些第三方工具生成的Excel文件的错误。
  • - 修改了当打印固定行时产生异常的错误
  • - 修正了设置Columns[i].Style.WrapText=True 无效的错误

v3.0 2006/10/8

  • - 解决了导入某些Excel文件时,字体变小的问题
  • - 修改了复制选中单元格内容时,复制的范围和选择的返回不相符的问题
  • - 解决保存Excel字体不正确的问题
  • - 解决拖动填充时,填充范围不正确的问题
  • - 修改了打印不能显示单元格边框的问题
  • + 用新版本重新制作了Demo

v3.0 Beta1 2006/9/18

  • + 增加导入导出Excel的功能: EjunGrid.LoadFromExcel(FileName, SheetIndex); EjunGrid.SaveToExcel(FileName, SheetName); 关于导入导出Excel更多功能请参见帮助
  • - 修改了通过EjunGrid.Columns[I].Style.BgColor设置列颜色无效的Bug
  • - 打印时在文本和单元格边框线之间增加了2个象素的间隙,使打印看起来更美观

v2.50 Beta2 2006/9/9

  • - 修改了当表格行高不等于默认行高时,打开设计器,所有得行高又变成默认行高得错误
  • - 修改了设置单元格边框线以后,在合并得单元格地方出现小线头的瑕疵
  • + 用户可以自由指定鼠标光标形状了,当EjunGrid.Cursor属性为crDefault时,鼠标光标为 默认的十字形状。
  • + 关闭打印预览对话框提供ESC键

v2.50 beta1 2006/8/29

  • + 为表格对象,列对象,行对象,单元格对象统一增加了Style属性,可以更加方便的控制 单元格的风格样式
  • + 可以给单元格指定边框颜色,边框线类型,支持六种位置的斜线
  • + 为TEjunGrid增加持久化支持,不再需要TEjunPersistGrid
  • + 重新设计的表格设计器,更加方便使用。在设计期选中EjunGrid右键菜单选择表格设计器, 可以分别设计表头,行头,和表格区
  • + 增加文件保存功能,能够保存所有单元格内容和格式信息

v2.02 2006/8/12

  • - 修正了当固定列设置为0时(FixedColCount=0), 显示错位的问题

v2.01

  • + 增加指定分页符功能 例如指定在第10行分页 Grid.Rows[10].PageBreak := True
  • + 可以指定一页打印多少行和多少列
  • + 当行数不满一页时,可以指定增加空白行填满整页
  • + 可以自动调整列款,使表格宽度充满页面宽度
  • + 增加TZjGrid.Selection.DisableDrag属性,用来禁止拖动选择框的边框
  • + 在TZjGrid.OptionEx中增加goWrapText选项,用来控制单元格中文本是否自动换行
  • - 修改了Bug: 当EjunGridPrinter指定了Grid属性后,删除Grid控件时产生异常

v2.00

  • + 增加EjunGrid打印组件EjunPrinter
  • - 修改了调用ZcGridPrinter.printAll产生异常的错误

v1.05

  • + 增加自动调整行高功能 通过属性AutoRowHeight设定
  • + 增加对多行文本输入的支持, 在单元格编辑框中按Alt+Return来换行输入多行文本, 换行后将自动调整输入框的高度.

V1.03

  • + 增加打印树节点的功能
  • + 增加两个方法MoveRow, MoveCol分别实现移动行和移动列的功能
  • - 修改插入删除行的时候,格式信息没有同步的问题.

V1.02

  • + 增加行列锁定功能
  • - 修改点击滚动条页滚动区域时(PageUp),出现整数越界的问题。