procedure TForm1.FormCreate(Sender: TObject);
begin
DBGridEh1.DataSource:=DataSource1;
DataSource1.DataSet:=ADOQuery1;
ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=f:\mcmygs.mdb;'+
'Persist Security Info=False;'+
'Jet OLEDB:Database Password=123456';
ADOQuery1.SQL.Text:='Select 自编号,合同号,币种,金额,银行 from dzb';
ADOQuery1.Open;
//显示记录指针图标和允许多选
DBGridEh1.Options:=DBGridEh1.Options+[dgIndicator,dgMultiSelect]-[dgRowSelect];
DBGridEh1.IndicatorTitle.ShowDropDownSign:=True;
DBGridEh1.IndicatorTitle.TitleButton:=True;
DBGridEh1.IndicatorTitle.UseGlobalMenu:=True;
//剪切、复制、粘贴、删除、全选
//EditActions与UseGlobalMenu菜单相对应
DBGridEh1.EditActions:=[geaCutEh,geaCopyEh,geaPasteEh,geaDeleteEh,geaSelectAllEh];
DBGridEh1.Options:=DBGridEh1.Options+[dgAlwaysShowSelection];
//行、矩形区域、列、全部
DBGridEh1.AllowedSelections:=[gstRecordBookMarks,gstRectangle,gstColumns,gstAll];
//如出现"键列信息不足或不正确。更新影响到多行"错误提示,说明有重复记录,需给数据库表设一主键即可。
end;

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
汉化DBGridEhFindDlg查找框
打开DBGridEh.pas[版本V5.2]单元文件,找到 DBGridEhFindDlg 单元文件名[第3029行],然后按 Ctrl+Enter 打开相应单元文件,将界面汉化如下:

相应的调用方法如下:
procedure TMain_Form.ToolButton6Click(Sender: TObject);
begin
DBGridEhFindDlgs.ExecuteDBGridEhFindDialog(DBGridEh1,'','',nil,False); //调出查找查找框
end;
procedure ExecuteDBGridEhFindDialog(Grid: TCustomDbGridEh; Text, FieldName: String;
ColumnFields: TColumnFieldsArrEh; Modal: Boolean);
其中参数:
Grid:用以指定一个特定的TDBGridEh组件。
Text:用以指定一个特定的查找文本,可为空串。
FieldName:用以指定一个特定的查找字段名,可为空串。
ColumnFields:用以指定一个查找字段列表的动态数组,可置为Nil,表示默认为全部Columns。
Modal:用以指定查找框是否以模态形式打开。
------------------------------------------------------------------------------------------------------------------------------------------------------------
请教:DBGRIDEH左上角 怎么设置

它的事情由什么控制的
设置属性IndicatorTitle,TitleButton := true;showDropDownSign := true
事件有OnIndicatorTitleMouseDown
--------------------------------------------------------------------------------------------------------------------------------------------------------------
汉化IndicatorTitle下拉式菜单
打开DBGridEh.pas[版本V5.2]单元文件,找到 EhlibConsts 单元文件名[第3029行],然后按 Ctrl+Enter 打开相应单元文件,将文中的:
SVisibleColumnsEh = 'Visible columns';
SCutEh = 'Cut';
SCopyEh = 'Copy';
SPasteEh = 'Paste';
SDeleteEh = 'Delete';
SSelectAllEh = 'Select All';
汉化如下:
SVisibleColumnsEh = '可视列目(&V)';
SCutEh = '剪切(&T)';
SCopyEh = '复制(&C)';
SPasteEh = '粘贴(&P)';
SDeleteEh = '删除(&D)';
SSelectAllEh = '全选(&A)';
然后再按 F9 重新编译即可。

**********************************************************该我自己了****************************************************
上图:

运行出来的结果让人蛋疼:

注意上面这个图也是我不用这个功能的一个原因,就是显示的英文,必须用adoquery添加字段displaylabel改成中文这里才会显示中文,所以早期我还是不用了,因为我的adoquery是
动态的。
要解决这个问题:找个EhlibConsts这个文件修改下:


修改好后 保存下---

--------------------------------------------------------
2013.04.08-----补充:新版的dbgrideh默认按title-caption 显示了 好野,显示中文 完美

本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/archive/2012/04/07/2436307.html
浙公网安备 33010602011771号