***************************************************************************************
*
* EjunGrid 乐图电子表格控件
*
* Copyright(c) 2002-2014 珠海乐图软件有限公司 版权所有
*
* http://www.ejun.cn Email: support@latosoft.com
*
* 珠海乐图软件有限公司保留所有解释权
***************************************************************************************
安装说明:
运行目录下的EjunInstall.exe程序,选择你要安装的Delphi版本,
安装之前必须先退出Delphi, 然后点击安装按钮开始安装
注册使用:
1. 正式版用户请在主窗体上放置一个TEjunLicense组件, 将注册信息填入相关
属性中完成注册,注册信息在安装目录下的sn.txt文件中。
2. 免费版用户控件包中没有包含TEjunLicense组件,可以直接使用免费版表格
控件。
Demo
为了减少压缩包的大小,该安装版本没有附带演示程序,请到EjunGrid官方网站
下载演示程序, 下载地址:http://www.ejun.cn/download.htm
在使用新的版本打开旧工程时,如果提示找不到属性,这是正常的,点击忽略即可
版本说明
5.03
add: 增加了Today()函数,用来返回当前日期
add: 增加了打印选择区域的功能,在页面设置对话框中可以设置
add: 增加val()函数,可以用来计算表达式的值,但表达式中不能引用其它单元格
应用举例: =val("3*2") 会得出结果6;
fix: 修正了当指定了页脚的行高时,打印到纸张上时,页脚会重叠在一起的问题。
fix: 修正了当设置了IsUseGridPageSetup属性之后,给打印控件的DocumentName赋值
无效的问题;同时取消了PageSetup对象的DocumentName属性。
fix: 修正了当格式字符串设为0.##时,如果单元格的值为整数时,显示文本会多出一
个小数点的问题;
fix: 修正了单元格格式设置对话框,数字格式列表中定位不正确的问题。
fix: 修正了当插入删除行列之后,ROW(),COLUMN()函数没有没有自动更新导致序号
不对的问题;
fix: RaidoBoxCell类型的单元格,调用AsString属性时,可以获得选中项对应的文本
fix: 修正了公式计算时,加号运算时,如果有一个值为空时,会导致#Value错误的问题。
5.02
add: 增加了OnInsertRow和OnInsertCol事件,当插入行和插入列之后会触发这两个事件
upd: 表格内容复制到Excel或者记事本中时,修改为不复制隐藏的行
upd: 将字体属性统一整合到Style对象中,更有利于资源重用。
add: 增加了对XE4的支持
5.01
add: 增加了IsSupportAutoComplete属性,设为true时,单元格会根据键盘输入的字符以及上一个
单元格的内容自动完成输入,如果输入的是数字,则会不执行自动完成功能
add: 增加了按钮型单元格
EjunGrid.CellTypes[col, row] := cellButton;
add: 增加了日期时间选择框类型的单元格
upd: 重新增强了公式引擎,支持IF函数的多层嵌套使用。
fix: 修正了树形表格,树所在的列双击分隔线自动调整列宽时,列宽计算不正确的问题,之前没有
计算树节点的缩进距离;
fix: 修正了TreeView的单元格文本已经超过显示范围时,还不会显示Hint提示的问题。
fix: 修正了当单元格字符超过4000个字符时,导出的xls文件,使用Excel打开时会报错的问题。
5.0
add: 正式发布支持XE2版本的EjunGrid
add: 增加了单元格边框自动完成功能,如果输入的字符和上一个单元格的字符匹配,表格会自动
复制上一个单元格的内容;
add: 给OptionsEx属性增加了goxColMovePrior选项,设为true之后,会优先拖动列,而不是选择列;
add: 增加了OnColMoved,OnRowMoved事件;
add: EjunTreeGrid新增了OnTreeNodeDragOver和OnTreeNodeDragDrop事件,但内部没有执行真正的拖
放操作
add: InsertRow增加了AInsertAfter参数,当为true时,表示在指定行之后的位置插入,默认是false;
add: 新增DefaultPasteMode默认复制粘贴模式,可以控制复制粘贴、拖动时实现不同的粘贴效果,
可选项有:TZcGridPasteMode = (pmPasteNormal, pmPasteValue, pmPasteStyle, pmStyleBrush);
add: 增加了对00.00####类型格式化字符串的支持
upd: 增强了移动行MoveRow的功能, 如果指定的行没有跨行合并单元格时就允许移动,即使有跨列合
并的单元格,而且如果移动的目标位置有合并单元格时,会自动跳过合并单元格。
upd: 单元格内部增加了Boolean数据类型,不再像之前采用整数(0, 1)来表示布尔值。
fix: 修改了当单元格设置了自动换行时,当输入&符号时,&符号不会显示,而是给后面一个字符加上
了下划线的问题。
fix: 修正了树形表格,当滚动条滚动到靠下方时,收拢树形节点,最后一行再表格底部之上时,
会出现滚动条被隐藏,但顶部还有行没有显示出来的问题。
fix: 修正到导入Excel文件时,单元格中的文本会多出一个回车换行符的问题
fix: 修正了单元格的按钮有时会留下残影的问题
fix: 修正了当在表格中嵌入子控件时,子控件接收不到Ctrl+C,Ctrl+V,Ctrl+X键盘消息的问题;
fix: 修正了浮动图片打印时,有部分打印不全的问题;
fix: 修正了浮动图片当锚定方式为只锚定位置,不锚定大小时,保存文件再打开文件,浮动图片不显示
的问题;
fix: 修正了隐藏行导出Excel文件之后,行高不对的问题
4.328
upd: 优化了文件存储结构,保存的文件体积更加小巧了。
add: 给页面设置的打印范围对象增加两个属性IsPrintTopTitleRowInFirstPage,
IsPrintLeftTitleColInFirstPage,指明是否在首页打印标题行和标题列,这两个属性
默认为False。这样当我们设置了打印范围为全部,并且设置了打印标题行时,第一页
标题行不会被重复打印。
add: 单元格图片和图片对齐方式可以保存到文件中了。
add: EjunDBSheet控件可以从模板文件中读取字段绑定信息了,单元格对象增加了
BindFieldName属性
add: EjunGrid增加了OnHeaderMenuClick事件。
procedure TForm9.EjunDataGrid1HeaderMenuClick(Sender: TObject; Col: Integer;
var Handled: Boolean);
begin
Handled := True;
if EjunDataGrid1.Columns[Col].SortType = cstAscending then
begin
EjunDataGrid1.Columns[Col].SortType := cstDescending;
EjunDataGrid1.SortRow([Col], EjunDataGrid1.ViewLockRow, EjunDataGrid1.RowCount - 1, False);
end
else
begin
EjunDataGrid1.Columns[Col].SortType := cstAscending;
EjunDataGrid1.SortRow([Col], EjunDataGrid1.ViewLockRow, EjunDataGrid1.RowCount - 1, True);
end;
end;
add: 给单元格增加了ImageIndex属性,每个单元格都可以设置图片了,可以实现图文混排,
既可以有图片又可以有文本,同时给Style对象增加ImageAlign属性,用于设置单元格
图片的对齐方式。
// 给单元格指定图片
EjunGrid.Cells[x, y].ImageIndex := EjunGrid.LoadImage('d:\1.jpg');
// 指定图片对齐方式为平铺
EjunGrid.Cells[x, y].Style.ImageAlign := iaTile;
// 对齐方式的枚举值如下:
TZcCellImageAlign = (iaNone, // 默认对齐方式为上下左右居中对齐
iaTopLeft, iaTopCenter, iaTopRight,
iaCenterLeft, iaCenterCenter, iaCenterRight,
iaBottomLeft, iaBottomCenter, iaBottomRight,
iaStretch, iaUniformStretch, // 缩放、保持长宽比例缩放
iaTile // 平铺
);
add: 增加了浮动图片的功能,可以通过鼠标拖动调整图片的位置和大小,可以设置
图片的位置和大小是否随着单元格改变而改变。
add: 读写Excel文件时,增加了读写是否显示0的选项
add: 保存ejun文件时,能够将公式计算结果保存到文件中,这样从文件中读取文件
之后不用马上计算公式就能显示单元格中的值
add: 增加了DontUseSysClipboard属性,设为True时,告诉Grid不要使用系统剪贴板;
add: 新增OnCellClick 和 OnCellDblClick事件
add: 新增了OnCellCanSelect事件,用于控制指定单元格是否允许被选中;
add: 新增了OnColWidthChanging事件,当列宽即将被改变之前触发该事件,可以在该
事件中禁止改变列宽
procedure TForm2.EjunDataGrid1ColWidthChanging(Sender: TObject; AIndex:
Integer; const AValue: Integer; var Allow: Boolean);
begin
// 限制第二列的列宽只能保持在30到100之间
if (AIndex = 2) and ((AValue < 30) or (AValue > 100)) then
Allow := false;
end;
add: 给工作薄控件增加了InsertSheet方法,可以在指定位置插入工作表;
add: 增加了COUNTA函数,可以用来统计区域内非空单元格个数;
fix: 修正了当某单元格公式中引用一块区域,在该区域插入行,在新插入行中的单元格输
入值之后,引用�