在客户端数据集(ClientDataSet)中创建查找字段时,我们一般是在 Delphi IDE(集成设计环境)中事先把查找字段创建好,即创建的是固定字段。但在实际软件开发中,我们往往需要在程序运行过程中动态创建查找字段,本文在分析了固定字段和动态字段创建的机理后,通过修改Delphi中VCL源代码的方法,简易实现了查找字段的动态创建。

解决方案 »

  1.   

    不太明白你的“动态查找字段”是什么意思。如果只是根据字段名来找对应字段的话,只要用TDataset.FieldByName方法就可以实现了
      

  2.   

    哦,总算明白了,是动态创建Lookup字段啊,晕倒
      

  3.   

    To he_qianCSDN: 不用修改VCL源代码,你是怎么实现的,能否说说你的思路?
      

  4.   

    等我过两天把东西整理一下,会上传到csdn上的
      

  5.   

    好像ClientDataSet的 filter 属性筛选字段值是中文时支持的不太好,在帮助里说是可以用 like ,但在实际中用 like时报错,怎么办
      

  6.   

    to 木子:我也试过多次,是不能用like,但对中文还是能支持的,只不过数据据库中相应字段的类型不能为nchar等,只能为char,即类型前有n的都不行.无n的可以
      

  7.   

    谢谢,long ,总算找到原因了