现在有两个数据表T1(人员信息)、T2(部门信息)
需要在DBGRID中显示表1的纪录内容,表1中有一字段名为部门编号,现在希望DBGRID的该字段的PICKLIST显示所有部门编号列表,而显示所有部门名称列表,当提交的时候提交相应部门的部门编号。我想在用户完成PICKLIST的选择后马上讲所选择的部门名称转换成部门编号,可是找不到相应的事件去填写代码,在OnColExit事件中好像不是很敏感,有时候会把其他行的数据转换后进行填写,请高手解决!送100分,在线等
需要在DBGRID中显示表1的纪录内容,表1中有一字段名为部门编号,现在希望DBGRID的该字段的PICKLIST显示所有部门编号列表,而显示所有部门名称列表,当提交的时候提交相应部门的部门编号。我想在用户完成PICKLIST的选择后马上讲所选择的部门名称转换成部门编号,可是找不到相应的事件去填写代码,在OnColExit事件中好像不是很敏感,有时候会把其他行的数据转换后进行填写,请高手解决!送100分,在线等
解决方案 »
- 请问各位,这是为何??
- 提示怎么弄出来?
- ListBox中Item删除问题
- 有谁能给个客户端能自动探测10000端口上是否有信息,并提示!
- 请问怎么样处理Application的一些事件,麻烦帮忙~~
- 有那位用DELPHI编写过QOS通信的例子? 分数面谈.
- 请教高手:如何实现动态功能??(很急,现正准备用!!!)
- 三层结构问题,三层高手请进。
- 有两台sql server2000数据库服务器a和b(有固定ip地址,不在一起),我希望在应用程序里点个按钮,然后就把a里的一些数据传到b里,怎么做
- 关于系统工具栏的右键菜单
- delphi如何实现数据库中的数据查询?
- delphi7建立一个空的工程,就占用内存10M,真晕,有什么解决办法吗?我的程序就两个窗体,占用20M??
var i,j:integer;s:string;
begin s:=DBGrid1.Columns.Grid.Fields[5].Text;
for j:=0 to length(s) do
begin
if (ord(s[j])>=176) and (ord(s[j])>=161) then
begin
try
ADOT1.TableName:='Qualification';
ADOT1.Filter:='Role_Name='''+trim(s)+'''';
ADOT1.Active:=true;
ADOT1.Filtered:=true;
ADOT.Edit;
DBGrid1.Columns.Grid.Fields[5].Text:=ADOT1.FieldByName('Role_ID').AsString;
except
end;
break;
end;
end;end;我把代码写在DBGrid1ColExit(Sender: TObject)事件中,有时候部门名称会不转换成编号而直接写入数据库表T1,这个事件好像不是很敏感,有解决办法吗?
比如你的DBGrid连接的是ADOQuery的话,
双击ADOQuuery,增加需要的字段,然后选中ADOQuery中的编号字段,在OnGetText和OnSetText中写就行了。
问Delphi问题的话,最好去大富翁吧,或者下载大富翁离线包,700M的CHM,几乎能解决你的所有问题。