请问不能安装Ehlib60.dp和如何使用(调用)DBGridEh的筛选、查找功能?我安装DBGridEh时,总是不能安装Ehlib60.dpk(3.4版 3.6版 4.14版都试过),
提示:Delphi安装文件夹下的Projects\Bpl\Ehlib60.bpl不存在。
如何解决?
多谢!
再问:请问如何使用(调用)DBGridEh的筛选、查找功能?我用以下方法(盒子论坛的axcom提供) 实现筛选和查找时,出现错误提示:在DBGridEh1ApplyFilter中出现错误:
[Error] DBGdriEh.pas(415): Undeclared identifier: 'DBGridEhlFilter'
[Error] DBGdriEh.pas(418): Undeclared identifier: 'DBGridEh1Filter'
[Error] DBGdriEh.pas(418): Undeclared identifier: 'DBGridEh1Filter'
[Fatal Error] DBGridEh.dpr(5): Could not compile used unit 'DBGdriEh.pas'运行查找时出现以下错误:
[Error] DBGdriEh.pas(380): Undeclared identifier: 'ExcecuteDBGridEhFindDialogProc'
[Fatal Error] DBGridEh.dpr(5): Could not compile used unit 'DBGdriEh.pas'不知是什么原因,请帮忙。
//筛选
procedure TFrmSongDiff.btnFilterClick(Sender: TObject);
var
i:integer;
begin
inherited;
with curGrid do
begin
STFilter.Visible := not STFilter.Visible;
STFilter.Local := STFilter.Visible;
for i:=0 to curGrid.Columns.Count-1 do
Columns[i].STFilter.Visible := STFilter.Visible;
end;
if curGrid.STFilter.Visible then
curGrid.OnApplyFilter(nil)// DBGridEh1ApplyFilter(nil)
else begin
curGrid.DataSource.DataSet.Filter := 'BChecked=1';
curGrid.DataSource.DataSet.Filtered := True;
end;
end;procedure TFrmSongChoice.DBGridEh1ApplyFilter(Sender: TObject);
var
i: integer;
s,Exp: string;
begin
inherited;
with DBGridEh1 do
begin
s := GetExpressionAsFilterString(DBGridEh1,GetOneExpressionAsSQLWhereString,nil); //需引用DbUtilsEh单元,Ehlib3.6及以后版本好象有变化
if s<>'' then
begin
if DBGridEh1Filter='' then
AdoQuery1.Filter := s
else
AdoQuery1.Filter := DBGridEh1Filter +' and '+ s;
end else
AdoQuery1.Filter := DBGridEh1Filter;
//
AdoQuery1.Filtered := true;
end;
end;//查找//uses DBGridEhFindDlgs;
procedure TFrmSongDiff.btnFindClick(Sender: TObject);
var
SelText: string;
begin
inherited;
SelText := curGrid.DataSource.DataSet.FieldByName(curGrid.Columns[curGrid.SelectedIndex].FieldName).AsString;
ExcecuteDBGridEhFindDialogProc(curGrid, SelText, '', nil, curGrid.IsFindDialogShowAsModal);
end;
提示:Delphi安装文件夹下的Projects\Bpl\Ehlib60.bpl不存在。
如何解决?
多谢!
再问:请问如何使用(调用)DBGridEh的筛选、查找功能?我用以下方法(盒子论坛的axcom提供) 实现筛选和查找时,出现错误提示:在DBGridEh1ApplyFilter中出现错误:
[Error] DBGdriEh.pas(415): Undeclared identifier: 'DBGridEhlFilter'
[Error] DBGdriEh.pas(418): Undeclared identifier: 'DBGridEh1Filter'
[Error] DBGdriEh.pas(418): Undeclared identifier: 'DBGridEh1Filter'
[Fatal Error] DBGridEh.dpr(5): Could not compile used unit 'DBGdriEh.pas'运行查找时出现以下错误:
[Error] DBGdriEh.pas(380): Undeclared identifier: 'ExcecuteDBGridEhFindDialogProc'
[Fatal Error] DBGridEh.dpr(5): Could not compile used unit 'DBGdriEh.pas'不知是什么原因,请帮忙。
//筛选
procedure TFrmSongDiff.btnFilterClick(Sender: TObject);
var
i:integer;
begin
inherited;
with curGrid do
begin
STFilter.Visible := not STFilter.Visible;
STFilter.Local := STFilter.Visible;
for i:=0 to curGrid.Columns.Count-1 do
Columns[i].STFilter.Visible := STFilter.Visible;
end;
if curGrid.STFilter.Visible then
curGrid.OnApplyFilter(nil)// DBGridEh1ApplyFilter(nil)
else begin
curGrid.DataSource.DataSet.Filter := 'BChecked=1';
curGrid.DataSource.DataSet.Filtered := True;
end;
end;procedure TFrmSongChoice.DBGridEh1ApplyFilter(Sender: TObject);
var
i: integer;
s,Exp: string;
begin
inherited;
with DBGridEh1 do
begin
s := GetExpressionAsFilterString(DBGridEh1,GetOneExpressionAsSQLWhereString,nil); //需引用DbUtilsEh单元,Ehlib3.6及以后版本好象有变化
if s<>'' then
begin
if DBGridEh1Filter='' then
AdoQuery1.Filter := s
else
AdoQuery1.Filter := DBGridEh1Filter +' and '+ s;
end else
AdoQuery1.Filter := DBGridEh1Filter;
//
AdoQuery1.Filtered := true;
end;
end;//查找//uses DBGridEhFindDlgs;
procedure TFrmSongDiff.btnFindClick(Sender: TObject);
var
SelText: string;
begin
inherited;
SelText := curGrid.DataSource.DataSet.FieldByName(curGrid.Columns[curGrid.SelectedIndex].FieldName).AsString;
ExcecuteDBGridEhFindDialogProc(curGrid, SelText, '', nil, curGrid.IsFindDialogShowAsModal);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货