• delphi ComboBox AddObject 组合框下拉取值正确使用方法


    大家都知道 TComboBox  AddObject 是个好东西。

    最近由于数据库结构设计设计上的原因(有很多诸如字典表) 如 国家代码表 语种表 而需要TComboBox  存储两列数据 一个 代码 一个值

    如  中国  chi   而这些值是数据库读取填入的 AddObject 的诟病也显露无疑 经过一天努力写了一个类

    unit Mccb;
     
    interface
     
    uses adodb, StdCtrls;
    type
      Tarr = array of string;
    type
     
      TMycbb = class(Tobject)
     
      public
          procedure Additem(ADOQuery1: TADOQuery;Asql:string; ccb: TComboBox;var ss:Tarr );
     
      end;
     
    implementation
     
    { TMycbb }
     
    procedure TMycbb.Additem(ADOQuery1: TADOQuery;Asql:string; ccb: TComboBox;var ss:Tarr);
    var
      i: Integer;
      s: string;
    begin
      ccb.items.clear();
      s := 'bd';
      ccb.items.addobject('不定', Tobject(s));
      ADOQuery1.close();
      ADOQuery1.SQL.Text :=Asql;
      ADOQuery1.open();
     
      SetLength(ss, ADOQuery1.RecordCount);
      for i := 0 to ADOQuery1.RecordCount - 1 do
      begin
     
     
        ss[i] := ADOQuery1.Fields[0].AsString;
        ccb.Items.AddObject(ADOQuery1.Fields[1].AsString, TObject(ss[i]));
        ADOQuery1.Next();
      end;
      ADOQuery1.close();
    end;
     
    end.
     

    初始化组合框

    procedure TForm1.Button9Click(Sender: TObject);
    var dd: TMycbb;
      sqls: string;
    begin
      sqls := 'select  lang_code,lang_name from  language_code';
      dd := TMycbb.Create;
     
      try
        dd.Additem(ADOQuery1, sqls, ComboBox1, ss);
     
      finally
        dd.Free;
      end;
    end;

    读取下拉值

    procedure TForm1.Button7Click(Sender: TObject);
    var A_Value: string;
    begin
      A_Value := string(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
     
        ShowMessage(A_Value);
    end;

    这里需要注意的是  要再测试主窗体 定义全局变量 ss 才能保证正确 读取

    var ss: Tarr;

    经过 CheckMem.pas 测试 无内存泄露 方便易用 减少了很多字典表的数据库读取访问。

  • 相关阅读:
    多选按钮CheckBox
    DatePicker和DataPickerDialog以及AutoCompleteTextView的基本使用方法
    Broadcast机制(二)
    广播机制(一)
    XML文件解析
    WIFI网络操作
    SQL Server Profiler工具
    SQL Server执行计划的理解
    SQL Server常用元数据函数
    SQL Server数学函数
  • 原文地址:https://www.cnblogs.com/jijm123/p/12624045.html
Copyright © 2020-2023  润新知