Einzelnen Beitrag anzeigen

Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
396 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Frame Grid Eigenschaften speichern

  Alt 12. Feb 2018, 14:11
Hallo himitsu,

so ganz verstanden habe ich das nicht Kannst Due mir da näher helfen.

Hier mal der Code des Frames.
Delphi-Quellcode:
unit Spenden;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
  Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls,
  cxLookAndFeels, cxLookAndFeelPainters, cxStyles, dxSkinsCore, dxSkinBlack,
  dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
  dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
  dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
  dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
  dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
  dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
  dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
  dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
  dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
  dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
  dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
  dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine,
  dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
  dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
  dxSkinXmas2008Blue, cxCustomData, cxFilter, cxData, cxDataStorage, cxEdit,
  cxNavigator, cxDataControllerConditionalFormattingRulesManagerDialog, Data.DB,
  cxDBData, cxButtonEdit, cxGridCustomTableView, cxGridTableView,
  cxGridDBTableView, IBODataset, cxGridLevel, cxClasses, cxGridCustomView,
  cxGrid, cxCalendar, cxCurrencyEdit, cxCheckBox;

type
  TframeSpenden = class(TFrame)
    cxGrSpendenView: TcxGridDBTableView;
    cxGrSpendenLevel: TcxGridLevel;
    cxGrSpenden: TcxGrid;
    cxGrSpendenViewDatum: TcxGridDBColumn;
    cxGrSpendenViewSpendenfallnummer: TcxGridDBColumn;
    cxGrSpendenViewSpendennummer: TcxGridDBColumn;
    cxGrSpendenViewSpendenfall: TcxGridDBColumn;
    cxGrSpendenViewBetrag: TcxGridDBColumn;
    cxGrSpendenViewBetraginWorten: TcxGridDBColumn;
    cxGrSpendenViewZuwendung: TcxGridDBColumn;
    cxGrSpendenViewQuittung: TcxGridDBColumn;
    procedure cxGrSpendenViewSpendenfallnummerPropertiesButtonClick(
      Sender: TObject; AButtonIndex: Integer);
    procedure cxGrSpendenExit(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure SaveGridPositions;
    procedure RestoreGridPositions;
  public
    { Public-Deklarationen }
  end;

implementation

{$R *.dfm}

uses Modul, Main, Constants, ProjectConstants;

procedure TframeSpenden.cxGrSpendenExit(Sender: TObject);
var x : Integer;
begin
  if Constants.ProgOptions.Common.GridPosition then
    for x := 0 to ComponentCount - 1 do
      if Components[x] is TcxGridDBTableView then
        TcxGridDBTableView(Components[x]).StoreToRegistry(sRegistryPath + '\Custom\Grids\' + Components[x].Name);
end;

procedure TframeSpenden.cxGrSpendenViewSpendenfallnummerPropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
begin
// Suchen einfügen
end;

procedure TframeSpenden.SaveGridPositions;
   var x : Integer;
begin
  if Constants.ProgOptions.Common.GridPosition then
    for x := 0 to ComponentCount - 1 do
      if Components[x] is TcxGridDBTableView then
        TcxGridDBTableView(Components[x]).StoreToRegistry(sRegistryPath + '\Custom\Grids\' + Components[x].Name);
end;

procedure TframeSpenden.RestoreGridPositions;
   var x : Integer;
       GridView : TcxGridDBTableView;
begin
  if Constants.ProgOptions.Common.GridPosition then
    for x := 0 to ComponentCount - 1 do
    begin
      if Components[x] is TcxGridDBTableView then
        TcxGridDBTableView(Components[x]).RestoreFromRegistry(sRegistryPath + '\Custom\Grids\' + Components[x].Name)
    end;
end;

end.
Und hier das Einbinden des Frames im Formular im OnCreate Ereignis.
Delphi-Quellcode:
  if dmMain.ibqryOptionen.FieldByName('SPENDEN').AsString = 'Jthen
  begin
    tshVerein.Caption := 'Spenden';
    tshVerein.Visible := True;
    if not assigned(Spenden)then
    begin
      Spenden := TframeSpenden.Create(PanelVerein);
      Spenden.Parent := PanelVerein;
    end;
    Spenden.BringToFront;
  end;
Beim schließen des Formulars soll auch die Grideinstellung im Frame gespeichert werden.
Walter Landwehr
Mfg

Walter

Geändert von Walter Landwehr (12. Feb 2018 um 14:24 Uhr)
  Mit Zitat antworten Zitat