DELPHI中复选下拉框动态填充(TCheckComboBox)

DELPHI中复选下拉框动态填充(TCheckComboBox)

复选下拉框(TCheckComboBox)的动态填充,即不通过字典实现

具体实现:

DoInIt调用方法:

DEMANDNAMESet(qcDEMAND_NAME.FirstEdit.Properties.Items);

DEMANDNAMESet方法:

procedure TfrmCgClientDemandQry.DEMANDNAMESet(const AList: TcxCheckComboBoxItems);
var
  AData:TClientSimpleDataEntity;
  AInParams,AOutParams : TParams;
begin
  AData := TLib.CreateDataEntity;
  try
      AList.Clear;
      AData.Close;
      AData.CommandText :='SELECT DEMAND_NAME FROM TB_CG_DEMAND GROUP BY DEMAND_NAME'  ;
      AData.Open;
      while not AData.Eof do
      begin
          AList.AddCheckItem(AData.FieldByName('DEMAND_NAME').AsString);
          AData.Next;
      end;
  finally
    AData.Free;
  end;
end;

DoQuery方法: (箭头内为有效代码)此处使用sql字符串拼接。可以用其他方法例如Sql中写 (:字段) 然后Entity.Params.ParamByName(字段).AsString := 值

procedure TfrmCgClientDemandQry.DoQuery;
var
  sSql,DEName: String;
begin
  inherited;
//⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
    DEName :=qcDEMAND_NAME.FirstEdit.Text;
    DEName := StringReplace (DEName, ';', ''',''', [rfReplaceAll]) ;
//    ShowMessage(DEName);
//⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

  sSql :=

 '   SELECT ROWNUM, B.* '         +#13+
 ' FROM (SELECT A.DEMAND_NAME,  '     +#13+
 ' LISTAGG(DEMAND_ID, '','') WITHIN GROUP(ORDER BY A.DEMAND_NAME) IDS,    '            +#13+
 ' SUM(A.DEMAND_NUMBER) TOTAL   '   +#13+
 ' FROM TB_CG_DEMAND A   '   +#13+
  ' WHERE 1=1 ';
//⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
  if qcDEMAND_NAME.WhereSQL <> ''then
    sSql :=sSql+' AND DEMAND_NAME IN (''' + DEName +''')';
//⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆
  if qcEXPECT_TIME.WhereSQL <> ''then
    sSql :=sSql+' AND ' + qcEXPECT_TIME.WhereSQL;

    sSql :=sSql + ' GROUP BY A.DEMAND_NAME) B ';

    DataEntity.Close;
    DataEntity.CommandText :=sSql;
    DataEntity.Open;

end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值