我有一个DBGrid得数据问题,我为DBGrid中得一个下拉列表框选择另一个表得主键数据,同时让DBGrid中得另一个字段也得到一个主键对应得数据数据,如何来实现。我是初学者,请问在DELPHI中是否能够实现显示数据和实际数据不一样,比如显示得是我看到得数据,而实际里面存储得是该数据得主键,谢谢各位大侠帮忙

解决方案 »

  1.   

    http://218.56.11.178:8020/web/index.aspx->下载基地->例程-数据库/报表->在DBGRID中下拉列表的显示
      

  2.   

    双击QUERY/TABLE-》右键菜单ADD ALL FIELDS-》选择你要改格式的字段-》看“属性框”
    LookupDateset:"另一个表"
    LookupKeyFields:"另一个表的主键"
    LookupResultField:"显示得是我看到得数据"
      

  3.   

    楼上说的对用picklist就可以了
    定义一个query,query中的数据取自另外一个数据集中的某个字段,然后
    扫描这个query(循环),每扫描一条记录,将得到的数据赋给picklist。
    例如:DBGrid1.Columns[0].PickList.Add(Query1.Fields[0].AsString);
    [:)]
      

  4.   

    我是在DBGRID中下拉列表的显示,但不知道显示下拉列表应该在什么事件中写
      

  5.   

    哦?那我想问下楼上各位,从PickList里面进行选择的时候触发什么事件呢?
      

  6.   

    可以设置lookup字段
    也可使用picklist,通过字段的OnGetText和OnSetText事件来达到显示值与实际值不同