Spalten in einem Grid kopieren

Rund um die LCL und andere Komponenten

Spalten in einem Grid kopieren

Beitragvon braunbär » 13. Okt 2018, 20:35 Spalten in einem Grid kopieren

Ich habe begonnen, mich etwas ausführicher mit dem Lazarus TGrid zu beschäftigen (bis jetzt habe ich im wesentlich nur verwendet, was ich von Delphi kenne), und bin verblüfft über die Möglichkeiten - das geht wirklich sehr weit über das hinaus, was das Delphi TGrid bietet - eine Menge von dem, was ich für meine Delphi Grids dazuprogramiert habe, ist hier fix und fertig und zum Teil auch komfortabler gelöst.

Jetzt hänge ich aber mit einer vermutlich einfach lösbaren Frage.
Wenn ich in einem TGrid mehrere gleichartige Spalten brauche, wie kann ich die Eigenschaften der Spalte in eine neue Spalte übernehmen? Der GridspaltenEditor erlaubt nur das hinzufügen und das Löschen von Spalten, und während man sonst Komponenten mit allen Eigenschaften mit strg-c, strg-v im Formeditor duplizieren kann, habe ich nicht herausgefunden, wie man das mit Gridspalten machen kann.
braunbär
 
Beiträge: 232
Registriert: 8. Jun 2017, 17:21

Beitragvon wp_xyz » 13. Okt 2018, 21:01 Re: Spalten in einem Grid kopieren

Richtig, da müsste man den Spalteneditor etwas erweitern. Alternativ kannst du die lfm-Datei editieren: im Formulareditor rechte Maustaste > "View Source (.lfm)", das Grid suchen, Spalteneintrag (nach "Columns" zwischen "Item" und "end") kopieren (unten in fetter Schrift) und an gewünschter Stelle wieder einfügen. Speichern. Es dürfte klar sein, dass man da eine Menge zerstören kann, daher vorher eine Sicherungskopie der LFM-Datei anlegen.
Code: Alles auswählen
object Form1: TForm1
  Left = 345
  Height = 240
  Top = 129
  Width = 676
  Caption = 'Form1'
  ClientHeight = 240
  ClientWidth = 676
  LCLVersion = '2.1.0.0'
  object StringGrid1: TStringGrid
    Left = 10
    Height = 303
    Top = 8
    Width = 603
    Columns = <   
      item
        ButtonStyle = cbsCheckboxColumn
        Title.Caption = 'Spalte A'
        Width = 40
      end   

      item
        Alignment = taRightJustify
        Title.Caption = 'Name'
      end   
      item
        ButtonStyle = cbsButtonColumn
        Title.Caption = 'Title'
      end   
      item
        ButtonStyle = cbsCheckboxColumn
        Title.Caption = 'Spalte B'
      end>
    TabOrder = 0
  end
end 
wp_xyz
 
Beiträge: 2642
Registriert: 8. Apr 2011, 08:01

Beitragvon braunbär » 13. Okt 2018, 21:10 Re: Spalten in einem Grid kopieren

Hmm, schon klar, dass das so geht, aber ich möchte wenn irgend möglich das direkte Bearbeiten von lfm Dateien vermeiden, weil das doch eher fehleranfällig ist. Eventuell mache ich einen feature request, ich glaube nicht, dass ich der einzige sein werde, der das immer wieder braucht.
braunbär
 
Beiträge: 232
Registriert: 8. Jun 2017, 17:21

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste

porpoises-institution
accuracy-worried