使用DxDBgrid控件中有以下问题请高手协助!   1. 怎样在Dxdbgrid中单击单元格后显示可以选择数据条目,而选择的数据显示在dxdbgrid中需以名称显示但最后保存时以编号ID存储(如选择的商品名称是"笔记本",选择后在dxdbgrid中显示笔记本,但在最后保存是实际上需要存储"笔记本"的编号如"A001")?
   2. 在不建临时表的情况下,怎样将每次在Dxdbgrid中增加的记录不先直接保存在数据库中,而是在输入完成整个单证号手工保存?
   以上的效果也就是需要实现如"胜天进销存"中哪样的录入效果,哪位高人有研究请一起讨论或给予协助?

解决方案 »

  1.   

    1.在dxDBGrid的列中选中某一列, 在Properties中设为LookupComboBox.
    在DataSource设你的下拉列表想要显示的数据, 不能与dxDBGrid的dataSource
    相同. 
    ListFiledsName为 商品名; ID
    ListIndex为0 (基于0的Index);
    KeyField设为ID;2.用ClientDataSet就可以.确定保存时用 ClientDataSet.ApplyUpdate(-1);
      

  2.   

    多谢楼上指点,可否给一个简单的DEMO?感激不尽!
      

  3.   

    晕, 还要给你写一个demo,才100分??
    另外现在都用cxGrid了你怎么还在dxGrid呢?
      

  4.   

    有两个表:[商品表]、[入库表][商品表]的字段:编号  类型       规格
    [入库表]的字段:ID    商品编号   数量
    当用户在[入库表]中新增项目时在dxdbgrid中选择第一个空白单元格时出现 LookupComboBox列表,当选择了商品表中商品名为"笔记本"的商品时,dxdbgrid中显示如下(要求:所选择的当前"笔记本"的产品时将会自动填入dxdbgrid中的的类型、规格等数据项,然后数量字段由手工输入商品     类型    规格        数量     
    ---------------------------------------
    笔记本    1      21*29       
    .....     ..     ....在dxdbgrid添加完后只保存dxdbgrid中数据的编号和数量字段保存至[入库表]内。
      

  5.   

    如果cxGrid比dxGrid好用,能实现以上功能,当然也可以!如果解决该问题,加分绝对不是问题!!!只是辛苦您了,希望您能给予支持!!万分感谢!
      

  6.   

    你把dxGrid删除了, 改成cxGrid现在都不用dxGrid
      

  7.   

    cxGrid用哪个版本的呀,我下载了几个都有问题,楼上方便的话是否给发一个,Email: [email protected]
      

  8.   

    cxGrid安装完成,但不知道怎样才能达到我要的功能呢?
      

  9.   

    说句公道话,楼上的都在糊弄楼主,无论用什么Grid,楼主的要求其实都只具有一般性。况且,cxGrid太过庞杂,虽然功能强大些,体积也太大了。LZ的第一个要求二楼回答的已经很不错,至于第二个要求,我想没必要非用到ClientDataSet。DBGrid在每次增加一条新记录的时候,数据并没有真的写到数据库中,而是保存在内存中。只有转移到下一条记录的时候,才会调用DataSet的Post方法进行保存。如果你在录入过程中想放弃,简单的调用DataSet的Cancel方法。其实通过DBGrid界面进行数据录入,我个人认为不是个好办法,最好是做一个表单来实现更为强大的逻辑。DBGrid可以用来对数据进行编辑,那样更方便性。
      

  10.   

    谢谢楼上,我安装了包含cxGrid的控件包,看了后确实觉的该控件过于庞杂,用哪个控件没关系,最主要是方便实现我的要求,因为之前看到别人用Dxdbgrid控件很容易实现了这个功能,但是本人查看相关资料没有找到能解决我问题一的该方面资料,现在问题一比较急于解决,还请高手能给予清晰的指导!