我在一个窗口上放了一个dbgrid1,然后通过adoquery1连接数据库的employer(职员表),在employer中有一个字段dep_id(部门代码),这个字段是参照department(部门代码表)中的dep_id.在department(部门代码表)中还有一个字段dep_name(部门名称)。我的问题是如何让dbgrid1中的一列生成下拉框,下拉框的内容是从数据库department(部门代码表)中读出部门名称,而不是部门的代码,当在下拉框修改了某个员工的部门名称后,存入数据库employer(职员表)的数据是部门的代码,而不是部门名称。请问要如何实现上述功能?
谢谢
谢谢
解决方案 »
- 急,请大虾指点!
- TParameters 参数传递如何生成
- 用sendmessage发送什么消息能使某个窗口在最前面,即当前活动窗口 ,急急 谢谢了
- 请问: if (num and 4)=0 then 是什么意思?就是它什么时候为0值是true, 什么时候又是不为0(注:num 为integer类型变量).谢谢!!
- WebService的问题,高分求解!
- 请教如何应用Delphi中New Item中的Service 和 Service Application,两者的区别是什么?
- delphi dbgrid问题
- 我是新手,请大家帮我解决下面的问题,可以吗?
- 关于Delphi程序动态链接库出错问题?
- 怎样限制DBGRID某列的输入长度
- 我下载了fast report251,但按照到delphi7的时候打开老是出错
- 谁有delphi编程百例通的配套光盘?
简单提示:
双击table,点击右键,选择ADD FIELD;再选择“LOOK UP”
好像是使下拉列表框覆盖dbgrid得一列。然后使
先把另一个数据表的可用记录放入其中procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdfocused in state then
begin
if column.FieldName='xxx' then //xxx为你要让combobox显示的那列的字段名
begin
ComboBox1.Left:=rect.Left+form1.DBGrid1.Left;
ComboBox1.Top:=rect.Top+form1.DBGrid1.Top;
ComboBox1.Width:=rect.Right-rect.Left;
ComboBox1.Height:=rect.Bottom-rect.Top;
ComboBox1.Visible:=true;
end;
end;
end;