⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editorsinplacedemocarinfo.pas

📁 delphi的的三方控件
💻 PAS
字号:
unit EditorsInPlaceDemoCarInfo;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, EditorsInPlaceDemoData, cxStyles, cxMaskEdit, cxMemo,
  cxBlobEdit, cxCurrencyEdit, cxInplaceContainer, cxControls,
  ExtCtrls, cxRadioGroup, cxImage, cxCheckBox, cxImageComboBox,
  cxDropDownEdit, cxTextEdit, cxHyperLinkEdit, cxMRUEdit, ImgList,
  cxGraphics, cxCustomData, cxLookAndFeelPainters, StdCtrls, cxButtons,
  cxDBVGrid, cxFilter, cxData, cxEdit, DB, cxDBData, cxClasses, cxVGrid;

type
  TEditorsInPlaceDemoCarInfoForm = class(TForm)
    pnlCarInfo: TPanel;
    vgCarInfo: TcxDBVerticalGrid;
    Panel2: TPanel;
    btnOk: TcxButton;
    btnCancel: TcxButton;
    vgCarInfoCar: TcxDBMultiEditorRow;
    vgCarInfoCategory: TcxDBMultiEditorRow;
    vgCarInfoImage: TcxDBEditorRow;
    vgCarInfoLargeImageAndPrice: TcxDBMultiEditorRow;
    vgCarInfoEngine: TcxDBMultiEditorRow;
    vgCarInfoTransmission: TcxDBMultiEditorRow;
    vgCarInfoMPG: TcxDBMultiEditorRow;
    vgCarInfoWebSite: TcxDBMultiEditorRow;
    vgCarInfoDescription: TcxDBEditorRow;
    vgCarInfoID: TcxDBEditorRow;
    procedure GetDisplayText(
      Sender: TcxCustomEditorRowProperties; ARecord: Integer;
      var AText: String);
    procedure vgCarInfoStylesGetContentStyle(Sender: TObject;
      AEditProp: TcxCustomEditorRowProperties; AFocused: Boolean;
      ARecordIndex: Integer; var AStyle: TcxStyle);
    procedure vgCarInfoLeftVisibleRecordIndexChanged(Sender: TObject);
    procedure cxButtonClick(Sender: TObject);
    procedure OnEditPropertiesButtonClick(
      Sender: TObject);
  private
    FPopupEdit: TcxPopupEdit;
    FAccepted: Boolean;
    FEditValue: Variant;
    procedure ClosePopup(AAccepted: Boolean);
  public
    procedure InitPopupPanel(ACarID: Variant);
    property PopupEdit: TcxPopupEdit read FPopupEdit write FPopupEdit;
    property Accepted: Boolean read FAccepted write FAccepted;
    property EditValue: Variant read FEditValue;
  end;

var
  EditorsInPlaceDemoCarInfoForm: TEditorsInPlaceDemoCarInfoForm;

implementation

{$R *.dfm}

procedure TEditorsInPlaceDemoCarInfoForm.InitPopupPanel(ACarID: Variant);
begin
  vgCarInfo.DataController.KeyFieldNames := 'ID';
  vgCarInfo.DataController.LocateByKey(ACarID);
  FAccepted := False;
end;

procedure TEditorsInPlaceDemoCarInfoForm.ClosePopup(AAccepted: Boolean);
begin
  if FPopupEdit = nil then Exit;
  FAccepted := AAccepted;
  FPopupEdit.DroppedDown := False;
end;

procedure TEditorsInPlaceDemoCarInfoForm.GetDisplayText(
  Sender: TcxCustomEditorRowProperties; ARecord: Integer;
  var AText: String);
begin
  AText := Sender.Caption;
end;

procedure TEditorsInPlaceDemoCarInfoForm.vgCarInfoStylesGetContentStyle(
  Sender: TObject; AEditProp: TcxCustomEditorRowProperties;
  AFocused: Boolean; ARecordIndex: Integer; var AStyle: TcxStyle);
begin
  if AEditProp.Row is TcxCustomMultiEditorRow then
    if TcxMultiEditorRow(AEditProp.Row).Properties.Editors[0] = AEditProp then
      AStyle := EditorsInPlaceDemoDataDM.styCaption;
end;

procedure TEditorsInPlaceDemoCarInfoForm.vgCarInfoLeftVisibleRecordIndexChanged(
  Sender: TObject);
begin
  FEditValue := vgCarInfoID.Properties.Values[vgCarInfo.LeftVisibleRecord];
end;

procedure TEditorsInPlaceDemoCarInfoForm.cxButtonClick(Sender: TObject);
begin
  ClosePopup(Boolean(TcxButton(Sender).Tag));
end;

procedure TEditorsInPlaceDemoCarInfoForm.OnEditPropertiesButtonClick(
  Sender: TObject);
begin
  ShowMessage('Button click event handler');
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -