起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: souhuchong01

【结帖】如何实现这样的结果**

[复制链接]
 楼主| 发表于 2008-2-3 14:32:00 | 显示全部楼层

等一下,我装个qq

我们这原则上不能装qq的,被网管发现会被闭掉。
回复 支持 反对

使用道具 举报

发表于 2008-2-3 14:34:52 | 显示全部楼层
用7楼的包,有问题吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-3 14:50:55 | 显示全部楼层

有问题

我服务器配置工具里作了akonsjk数据库联接,导入成功了。进入建模工具后,我把他们都签出,然后生成了一遍物理表,还在两个表里写了几行记录。然后双击窗体打开一看,我加的记录一条不落的都显示了,我运行窗体,所有数据都摆在那,没有过滤的意思。我有看了akon在datasetBZSJJ1里的onfieldchang事件里的代码。正在捉摸是否代码要微调一下?

再次反馈.jpg

186.85 KB, 下载次数: 244

回复 支持 反对

使用道具 举报

发表于 2008-2-3 14:52:29 | 显示全部楼层
嗯,你先运行,我的例子,看一下效果,能否达到你要的需求,可以的话,你就按照我有例子做吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-3 15:11:59 | 显示全部楼层

运行效果如图

运行效果如图,供用户选择的产品不是全部显示在屏幕上而是下拉让用户选择,配置相没有不重复显示,另外配置名称也没有下拉显示,而是全部显示。我想要的不是这样的效果。

反馈2.jpg

93.77 KB, 下载次数: 239

回复 支持 反对

使用道具 举报

发表于 2008-2-3 15:32:58 | 显示全部楼层
问题一:你打区域属性中的自动增长去掉,就显示一行
问题二:配置名称有下拉是因为设置了查打属性,你可以去掉
回复 支持 反对

使用道具 举报

发表于 2008-2-3 16:01:00 | 显示全部楼层
var
fieldID:string;
begin
fieldID:=datasetcpzsjj.fieldbyname('CPLB').asstring;
if field.fieldname='CPLB' then
   begin
     datasetcppzcsjj2.close;
    datasetcppzcsjj2.sql.clear;
     datasetcppzcsjj2.sql.text:= 'select pzx,pzbm,pzmc from pzb where cplb='+fileid+'' group by pzx;
   end;
end;
end.

刚才试了,用distinct不行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-3 16:26:16 | 显示全部楼层

我把代码微改了一下粘进去了,还是不行

运行结果如图:

反馈3.jpg

69.89 KB, 下载次数: 224

回复 支持 反对

使用道具 举报

发表于 2008-2-3 16:29:35 | 显示全部楼层
你把代码粘出来,我看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-4 07:28:51 | 显示全部楼层

代码如下

我在标准数据集的onfiedlchange事件里粘的。从数据集的主键我没有改,还是产品ID+配置id是主键。我关键想看是否distinct是否能达到我想要的效果。
unit YWXX17;

interface

uses
  Business.System, Business.Model, Business.Data, Business.Forms;

type
  TYWXX17 = class(TInfo)
    DataSetBZSJJ1: TSQLDataSet;
    DataSetBZSJJ2: TSQLDataSet;
    FIELD_BZSJJ1_CPLB: TUserDataField;
    procedure DataSetBZSJJ1FieldChange(DataSet: TDataSet; Field: TDataField);
  private
    {private declarations}
  public
    {public declarations}
  end;

implementation


procedure TYWXX17.DataSetBZSJJ1FieldChange(DataSet: TDataSet; Field: TDataField);
var
fieldID : string;
begin
fieldID := DataSetBZSJJ1.FieldByName('CPLB').AsString;//Objecthelper.ToString(DataSetBZSJJ1.FieldByName('CPID').NewValue);
     if Field.FieldName = 'CPLB' then
     begin
          DataSetBZSJJ2.close;
          DataSetBZSJJ2.SQL.clear;
          DataSetBZSJJ2.SQL.text:='select distinct(PZX),PZMC from TJFZCB where CPLB='+fieldID+'';

     end;
end;

end.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 02:39 , Processed in 0.044851 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表