• dbgrideh的功能


    a.点标题排序:

    1.eh的optionsEh 的dghAutoSortMarking True

    2  eh的sortlocal true

    3.列的title的toolbutton为true

    4。eh的optionsEh 的dghMultiSortMarking True  多个字段一起排(按CTRL+Mouse)

    5.uses加相应的驱动ehlibado/ehlibbde

    b.模糊过滤:

       uses ehlibado;

        if Assigned(DataSource) and Assigned(DataSource.DataSet) then
          DataSource.DataSet.Filtered :=true;
        STFilter.Local :=True;
        STFilter.Visible :=True;
       //加过滤下拉列表

        for i:=0 to Columns.Count-1 do
          Columns[i].STFilter.ListSource :=DataSource;

        //加排序列表菜单

        列的dropdownSizing

    c.斑马线

        if Assigned(DataSource) and Assigned(DataSource.DataSet) then
        begin
          if DataSource.DataSet.IsSequenced then
          begin
            OddRowColor :=clRed;
            EvenRowColor:=clYellow;
          end
          else begin
              aDBGridEH.OnDrawColumnCel//处理

            end;
          end;
        end;
    procedure DBGridEhDrawColumnCell(Self: TObject;Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumnEh;
      State: TGridDrawState);
    begin
      if (gdSelected in State) then
      begin
      end
      else  if (Rect.Top = (Sender as TDBGridEh).CellRect((Sender as TDBGridEh).Col,(Sender as TDBGridEh).Row).Top) and (not (gdFocused in State) or not (Sender as TDBGridEh).Focused) then
      begin
        (Sender as TDBGridEh).Canvas.Brush.Color := clblack;//选择行
        (Sender as TDBGridEh).Canvas.Font.Color := clWhite;
      end
      else
      begin
        (Sender as TDBGridEh).Canvas.Brush.Color := clYellow;//奇行
        (Sender as TDBGridEh).Canvas.Font.Color := clWindowText;
      end;
      if (not (gdSelected in State)) and ((((Sender as TDBGridEh).DataSource.DataSet.RecNo) mod 2) =0) then
      begin
        (Sender as TDBGridEh).Canvas.Brush.Color := clred;//偶行
        (Sender as TDBGridEh).Canvas.Font.Color := clWindowText;
      end;
    //  (Sender as TDBGridEh).Canvas.FillRect(Rect);
      (Sender as TDBGridEh).DefaultDrawColumnCell(Rect,DataCol,Column,State);
    end;
    d.统计栏

    e.保存grid位置

       SaveGridLayoutIni(IniFileName,GetFullName(TWinControl(Sender)),true);

        RestoreGridLayoutIni(IniFileName,vSectionName,[grpColIndexEh, grpColWidthsEh, grpSortMarkerEh, grpColVisibleEh,grpDropDownRowsEh,grpDropDownWidthEh]);

  • 相关阅读:
    能量最小化初探,graphcuts能量最小化调用
    【设计】B 端产品设计
    【产品分析】关于字节跳动的神话与现实
    【UI】数据表格设计
    【设计】交互文档结构
    【作品集】UX作品集
    【产品方法论】需求是怎么来的
    【ML】人脸识别
    【ML】DL的参数量计算
    【网站部署】flask
  • 原文地址:https://www.cnblogs.com/jiangyuxuan/p/1285035.html
Copyright © 2020-2023  润新知