• 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]);

  • 相关阅读:
    1136 A Delayed Palindrome (algorithm reverse(ans.begin,ans.end))
    1141 PAT Ranking of Institutions PAT甲级
    最近点对 (迭代器访问数据)
    1146 Topological Order PAT 甲级
    1151 1151 LCA in a Binary Tree PAT 甲级
    jQuery的基本使用
    案例:移动端返回顶部效果
    移动端轮播图(原生JS写法)
    移动端特效
    本地存储
  • 原文地址:https://www.cnblogs.com/jiangyuxuan/p/1285035.html
Copyright © 2020-2023  润新知