我在dbcombobox中放了些数据,请问怎样实现 选中文而赋数字?(94)

  • 主题发起人 主题发起人 坐井看天阔
  • 开始时间 开始时间

坐井看天阔

Unregistered / Unconfirmed
GUEST, unregistred user!
具体情况是:我放了个dbcombobox1在form1中,其属性datasource选的是datasource1,datafield选的是‘县代码’,在连onenter事件发生时:dbcombobox1.items.loadfromfile(getcurrentdir+'//code_reference/县代码.txt'); 县代码的格式如: 111-昆明市,112-楚雄市。 请问怎样实现在输入选中这一条时把“111-昆明市”放到dbcombobox1中,而只把代码“111”放到数据库中。此外,我的dbgrid连的是datasource1,怎样让它也显示汉字(数据库中存的全是代码)。我总分只有94分,全部献上,请高手指点迷津!谢谢!
 
设置datasource1对应的DataSet字段“县代码” 的OnGetText和OnSetText事件。例如:procedure TForm1.ClientDataSet1aaaGetText(Sender: TField; var Text: String; DisplayText: Boolean);begin 根据Sender.Asstring的值(代码),和文件 县代码.txt,获得对应的中文名称, 最后设置 Text := 类似于"111-昆明市" 的字符串end;procedure TForm1.ClientDataSet1aaaSetText(Sender: TField; const Text: String);var X:Integer;begin X:=Pos('-',Text); if X>0 Then Sender.AsString:=Copy(Text,1,X-1) Else Sender.Clear;end;
 
你好,谢谢你。但我还不是很明白,我在datasource1和dbcombobox1中的dataset下无论Properties还是events中都没找到gettext事件seltext事件,你能多指点我一下吗?我对delphi还在底层,谢谢!---------------------先把分献上-------------------------
 
如果是Table控件,设置好DataBaseName和TableName后,双击Table,弹出一个窗体,然后右键鼠标,可以看到菜单,执行菜单项 add all field,然后选择任意一个刚刚add的field,你就可以在属性编辑器的event中看到ongetText事件了。
 
很不好意思,我还是不怎么会弄,还想请教一下:就是我用的是dbcombobox,我的Adoconnection的连接字符串是用语句来实现的,这样的话,我点了datacombobox的datasource属性为datasource1后,datafield点进去是跳出一个框为“无效的授权说明”,还是不能找到这两个事件,还再次劳烦你帮我解答一下。谢谢!
 
后退
顶部