Ehlib表格区填满表格线的解决方案
来源:互联网 发布:linux系统要求 编辑:程序博客网 时间:2024/06/08 14:13
表格区填满表格线的问题,公布如下:
3。6版本中修改DBGridEh.pas单元的UpdateRowCount过程:
procedure TCustomDBGridEh.UpdateRowCount;
var BetweenRowHeight, t: Integer;
OldRowCount, OccupiedHeight, VisibleDataRowCount, NewRowCount: Integer;
。。。。。。。。。。。。。。
begin
...............................
with FDataLink do
if not Active or (RecordCount = 0) or not HandleAllocated then
begin
.................
end else
begin
VisibleDataRowCount := (ClientHeight - OccupiedHeight {- LineHeight}) div DefaultLineRowHeight;
if VisibleDataRowCount <= 0 then VisibleDataRowCount := 1;
FDataLink.BufferCount := VisibleDataRowCount;
if FFooterRowCount = 0 then //增加的一个条件,用户可以用FooterRowCount值来决定是否填满表格线
VisibleDataRowCount := FDataLink.RecordCount;
Inc(OccupiedHeight, DefaultLineRowHeight * VisibleDataRowCount);
NewRowCount := VisibleDataRowCount + TopDataOffset;
if FooterRowCount > 0 then
begin
NewRowCount := NewRowCount + FooterRowCount + 1;
SetRowCount(NewRowCount);
BetweenRowHeight := ClientHeight - OccupiedHeight {- LineHeight};
if BetweenRowHeight < 0 then BetweenRowHeight := 0;
//RowHeights[TopDataOffset + VisibleDataRowCount] := BetweenRowHeight;//原代码行
RowHeights[TopDataOffset + VisibleDataRowCount] := 0;//修改后的代码行
//把多余的不足一行的高度加在最后一行,增加下面一行代码
RowHeights[FTitleOffset + VisibleDataRowCount] := DefaultRowHeight+BetweenRowHeight;
end else
SetRowCount(NewRowCount);
UpdateActive;
end;
if OldRowCount <> RowCount then Invalidate;
end;
4.14版本中也是修改DBGridEh.pas单元的UpdateRowCount过程:
procedure TCustomDBGridEh.UpdateRowCount;
var
BetweenRowHeight,{恢复被注释掉的变量BetweenRowHeight} t: Integer;
OldRowCount, OccupiedHeight, VisibleDataRowCount, NewRowCount: Integer;
。。。。。。。。。。。。。
begin
...........................
with FDataLink do
if not Active or (RecordCount = 0) or not HandleAllocated then
begin
//MoveColRow(Col, TitleOffset, False, False);
SetRowCount(1 + TopDataOffset);
ContraRowCount := FooterRowCount;
//恢复原代码中被注释掉的语句行
(*========================================================================*)
SetRowCount(1 + TopDataOffset);
Inc(OccupiedHeight, DefaultLineRowHeight);
if HandleAllocated then
begin
if (FooterRowCount > 0) then
begin
SetRowCount(RowCount + FooterRowCount + 1);
BetweenRowHeight := ClientHeight - OccupiedHeight {- LineHeight};
if BetweenRowHeight < 0 then BetweenRowHeight := 0;
RowHeights[TopDataOffset + 1] := BetweenRowHeight;
end;
end;
(*========================================================================*)
end else
begin
VisibleDataRowCount := (ClientHeight - OccupiedHeight {- LineHeight}) div DefaultLineRowHeight;
if VisibleDataRowCount <= 0 then VisibleDataRowCount := 1;
FDataLink.BufferCount := VisibleDataRowCount;
if FFooterRowCount = 0 then //增加的一个条件,用户可以用FooterRowCount值来决定是否填满表格线
VisibleDataRowCount := FDataLink.RecordCount;
Inc(OccupiedHeight, DefaultLineRowHeight * VisibleDataRowCount);
NewRowCount := VisibleDataRowCount + TopDataOffset;
if FooterRowCount > 0 then
begin
SetRowCount(NewRowCount);
ContraRowCount := FooterRowCount;
//恢复原代码中注释掉的部分
(*========================================================================*)
NewRowCount := NewRowCount + FooterRowCount + 1;
SetRowCount(NewRowCount);
BetweenRowHeight := ClientHeight - OccupiedHeight {- LineHeight};
if BetweenRowHeight < 0 then BetweenRowHeight := 0;
//RowHeights[TopDataOffset + VisibleDataRowCount] := BetweenRowHeight;//这一行仍然不要,改成下面的代码
(*========================================================================*)
RowHeights[TopDataOffset + VisibleDataRowCount] := 0;//修改后的代码行
//把多余的不足一行的高度加在最后一行,增加下面一行代码
RowHeights[FTitleOffset + VisibleDataRowCount] := DefaultRowHeight+BetweenRowHeight;
end else
SetRowCount(NewRowCount);
UpdateActive;
end;
if OldRowCount <> RowCount then Invalidate;
end;
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib表格区填满表格线的解决方案
- Ehlib:修正表格的Lookup下拉框的焦點小BUG
- EhLib表格控件DBGridEh自动排序、自动过滤的实现
- 让图片填满Word表格里的单元格
- 给birt的表格添加表格线
- ERP的未来 平台化+SOA
- 软件研发人员的考核
- Windows Embedded CE 6.0开发初体验(四)跑个应用程序先
- 防止SQL SERVER的事件探查器跟踪软件的SQL脚本
- 如何用摄像头来测距(opencv) - xylary专栏 - CSDNBlog
- Ehlib表格区填满表格线的解决方案
- 关于DSP中全局变量与局部变量的使用
- 企业如何辨别ERP是否稳定
- 无线开发,你凭什么吸引VC?
- 核心流程决定ERP项目的信息化选型
- 基于Java Socket的文件UpLoad代码(完美版)-用递归解决java的目录树遍历
- 常用的几种交互表存储过程的实现方法
- 基于Java Socket的文件UpLoad代码
- NOD32 香港升级代理,速度超快