• delphi---EHlib第三方插件----TDBGridEH,TDBNumberEditEh,TDBComboBoxEh


    一、TDBGridEH

    1、多选 行

    options->dgMultiSelect

    2、列字体改变颜色,OnDrawColumnCell写下方法。

         if Column.FieldName='价格' then
         begin
             if ADOQuery1.FieldByName('价格').AsFloat<0 then
             begin
                 DBGridEh1.Canvas.Font.Color := clRed;
                 DBGridEh1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
             end;
         end;
    //整个框颜色
    DBGridEh1.Canvas.Brush.Color:=clMaroon;
    DBGridEh1.Canvas.Font.Color:=clWhite;
    DBGridEh1.DefaultDrawColumnCell(Rect,DataCol,Column,State);

     3、字段显示分层

    如实现 这种效果

    1、选择TDBGridEH,设置属性:UseMultiTitle:True.

    2、右击TDBGridEH,选择Columns Editor,选择上分层的字段,如:caption:重量|生铁

    二、TDBNumberEditEh:保能输入数字

    1、Imemode属性:
      imClose 表示输入法处于关闭状态;
      ImOpen 表示输入法处于打开状态;
      ImChinese 表示处于中文输入法状态;
      ImDontCare 表示若输入法处于关闭状态则打开最近一次使用过的输入法;
      ImSAlpha 表示输入处于半角状态;
      ImAlpha 表示输入处于全角状态。

    2、出现上下箭头

      DBNumberEditEh1.EditButton.Visible:=true; 
      DBNumberEditEh1.EditButton.Style:=ebsDropDownEh;  

    问题:滑动鼠标会自动增加数字,因不需此功能,又无法去掉这个功能,后改用RzEdit里的控件。

    三、TDBComboBoxEh

    二、公用方法 

    function AddComboBoxEhList(TableName, KeyField, DisplayField: String;
    CbB: TDbComboBoxEh; Condition: string = '';
    bClear: Boolean = True): Boolean;
    var DQ: TADOQuery;
    begin
      DQ := TADOQuery.Create(nil);
      with DQ do
      try
        Result := False;
        Connection := DMW_Public.DC_Pub;
        Close;
        SQL.Clear;
        SQL.Add('select '+DisplayField);
        if Trim(KeyField) <> '' then
          SQL.Add(','+KeyField);
          SQL.Add(' from '+ TableName);
        if Condition <> '' then SQL.Add(Condition);
        Open;

        if bClear then
        begin
          CbB.KeyItems.Clear;
          CbB.Items.Clear;
        end;

      while not Eof do
      begin
        if Trim(KeyField) <> '' then
        CbB.KeyItems.Add(FieldByName(KeyField).AsString);
        CbB.Items.Add(FieldByName(DisplayField).AsString);
        Next;
      end;
      Result := True;
      finally
        Close;
      Free;
      end;
    end;

    直接 引用 :  AddComboBoxEhList('pub_departments','id','name',cbb_department,' Order by id ');

    添加/修改:cbb_department.KeyItems[cbb_department.ItemIndex] 

    修改加载:

      1)已知item:cbb_department.Text:=FieldByName('syb').AsString;

      2)只知keyItem:    cbb_range.ItemIndex:= cbb_range.KeyItems.IndexOf(FieldByName('range').AsString);

    根据条件加载:

    AddComboBoxEhList('pub_branchs','id','name',cbb_FC,' Where pub_department_id='''+cbb_department.KeyItems[cbb_department.ItemIndex]+''' Order by id ');

    清除内容:cbb_FC.Clear;

    每次重新加载要清除KeyItems,Items

  • 相关阅读:
    初步理解Java的三大特性——封装、继承和多态
    设计模式
    区分super和this
    类—矩形面积
    生成不重复的随机数(待完善)
    关于类的创建和调用
    生成验证码
    endsWith和startsWith同样效果其他形式的写法(2016.1.12)
    去除字符串中空格的方法(2016.1.12P141-2)
    java的抽象类
  • 原文地址:https://www.cnblogs.com/michellexiaoqi/p/7889342.html
Copyright © 2020-2023  润新知