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 显示了 好野,显示中文 完美

 

posted on 2012-04-07 17:39  del88  阅读(70)  评论(1)    收藏  举报