zoukankan      html  css  js  c++  java
  • 表格内嵌编辑控件

    在DBGrid 中嵌入一个 DBComboBox1
    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
    begin
    if (Field.FieldName = DBComboBox1.DataField ) then
    begin
    DBComboBox1.Left := Rect.Left+ DBGrid1.Left;
    DBComboBox1.Top := Rect.Top +DBGrid1.top;
    DBComboBox1.Width := Rect.Right - Rect.Left;
    DBComboBox1.Height := Rect.Bottom - Rect.Top;
    DBComboBox1.Visible := True;
    end;
    end;
    cxgrid:
    procedure TMycxGrid.ColumnDrawCell(Sender: TcxCustomGridTableView;
      ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
      var ADone: Boolean);
    var
      g: TcxGrid;
      c: TMyDBComboBox;
      d: TMyDBComboButtonEdit;
      e: TMyDBBitBtn;
      FieldName: string;
      procedure _SetControl(Value: TWinControl);
      begin
        g := TcxGrid(TcxGridDBTableView(Sender).GetParentComponent);
        Value.Left := AViewInfo.TextAreaBounds.Left + g.left;
        Value.Top := AViewInfo.TextAreaBounds.Top + g.Top;
        Value.Width := AViewInfo.TextAreaBounds.Right - AViewInfo.TextAreaBounds.left;
        Value.Height := AViewInfo.TextAreaBounds.Bottom - AViewInfo.TextAreaBounds.top;
        Value.Visible := True;
      end;
    begin
      if AViewInfo.Editing then
      begin
        FieldName := LowerCase(TcxGridDBTableView(Sender).Columns[AViewInfo.Item.ID].Caption);
        if fBindControl is TMyDBComboBox then
        begin
          c := fBindControl as TMyDBComboBox;
          if LowerCase(c.DataField) = FieldName then
            _SetControl(c)
          else c.Visible := False;
        end else if fBindControl is TMyDBComboButtonEdit then
        begin
          d := fbindcontrol as TMyDBComboButtonEdit;
          if LowerCase(d.DataField) = FieldName then
            _SetControl(d)
          else d.Visible := False;
        end else if FBindControl is TMyDBBitBtn then
        begin
          e := fbindcontrol as TMyDBBitBtn;
          if LowerCase(e.DataField) = FieldName then
            _SetControl(e)
          else e.Visible := False;
        end;
      end;
    end;
  • 相关阅读:
    my eye
    html与HTML5的区别
    h5css样式
    h5css3弹性盒子
    简单js的介绍
    2020.8.16(周报6)
    2020.8.18
    2020.8.20
    2020.8.17
    2020.8.15
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2940583.html
Copyright © 2011-2022 走看看