Spaltenüberschrift und -Sortierung in einem TIB_Grid

Alles, was den Programmierer beschäftigt

Moderator: SYNERPY

Antworten
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Spaltenüberschrift und -Sortierung in einem TIB_Grid

Beitrag von Geri12 »

Hallo,
ich habe hier eine Merkwürdigkeit, welche ich mir nicht erklären kann. Vielleicht kann mir ja einer von Euch weiter helfen ?

In der Maske BBES ist ein Grid eingebaut, welches die Daten von BBESP anzeigt. Und zwar genau so, wie es in der Datenübersicht der Maske BBESP eingestellt ist -> Spaltenreihenfolge und -Breite wie gespeichert, die Spaltenbezeichner werden aus der Übersetzungstabelle ausgelesen. Prima soweit. :D

Mittlerweile habe ich schon ein paar Grids eingebaut, bei denen funktioniert es genau so (TIB_Grid.GridLinks ist leer). Auch prima. :D

Aber jetzt bei der letzten Maske BZAHL habe ich ein Grid für die Daten von BZAHLPO eingebaut, und dort ignoriert mir das System standhaft die in der Datenübersicht BZAHLPO eingestellte Spaltenbreite und -Reihenfolge und auch die Übersetzung wird nicht beigezogen, ich sehe im Grid nur die Feldnamen in Großschrift ??? :shock:

Übersehe ich hier was oder habe ich eine notwendige Reihenfolge von Arbeitsschritten diesmal nicht eingehalten ? Beim Vergleich der Eigenschaften der beiden Grids kann ich keinen Unterschied (bis natürlich SQL und MasterLinks) entdecken. Hat jemand eine Idee ?
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Hallo Geri12,

1.
was steht im SQL-Script des Querys für das Grid :?:
2.
was steht in den Gridlinks vom Grid :?:
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo festus01

So, bin nochmal aus dem Urlaub zurück, jetzt kann's erholt weitergehen ...
1. was steht im SQL-Script des Querys für das Grid :?:
select * from V_BZAHLPO
2. was steht in den Gridlinks vom Grid :?:
NIX
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Hallo Geri12,

ich dachte schon ich sterbe über meine Frage hinweg :wink:
Geri12 hat geschrieben: So, bin nochmal aus dem Urlaub zurück, jetzt kann's erholt weitergehen ...
2. was steht in den Gridlinks vom Grid :?:
NIX
OK, kleiner Fehler. Was steht denn in der Eigenschaft FieldsGridLabel des querys :?:

Wenn nix, dann mal das versuchen (Beispiel):

Bild

linker Eintrag = Feld der Tabelle (View)
rechter Eintrag = Anzeige auf dem Grid
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo festus01
ich dachte schon ich sterbe über meine Frage hinweg :wink:
Ich hoffe mal, dass Du noch nicht schwächelst und uns noch lange erhalten bleibst :D

Ansonsten nennt man solche Zustände um diese Jahreszeit herum glaube ich "Sommerloch" :lol:
Was steht denn in der Eigenschaft FieldsGridLabel des querys :?:
Nichts.
Wenn nix, dann mal das versuchen (Beispiel):
Leider ist das nur ein Teil vom Ganzen. Hiermit würde ich zwar die Spaltenüberschriften fest vorgeben, die Einstellungen der einzelnen User bzgl. Breite und Positionierung würden aber immer noch fehlen.
Nichtsdestotrotz: ich hab's probiert (mit: ZAHLBETRAG=Gezahlter_Betrag) und es funktioniert soweit mit der Spaltenbezeichnung ...
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Hallo Geri12,
Geri12 hat geschrieben: ...
Hiermit würde ich zwar die Spaltenüberschriften fest vorgeben, die Einstellungen der einzelnen User bzgl. Breite und Positionierung würden aber immer noch fehlen.
...
soweit ich weiß kann man ein Grid garnicht Userbezogen abspeichern.
Kann es sein, dass Sie das mit einer Datenübersicht verwechseln, dort kann man nämlich das Grid Userbezogen abspeichern :?:
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo festus01,
mich darf man ruhig "duzen", auch im Forum. Sooo alt bin ich noch nicht :roll:
soweit ich weiß kann man ein Grid garnicht Userbezogen abspeichern
Ein userbezogenes Abspeichern des Grids in der Maske kann ich auch nicht. Aber in unserer DB-Version funktioniert folgendes ...

1. Ich gehe in die Maske BBESP und rufe dort die Datenübersicht auf. Die Sortierung gefällt mir nicht und ich sortiere wie folgt: ID, ArtNr, ArtBez. und ändere zusätzlich die Spaltenbreiten. Anschließend natürlich speichern :wink:

2. Ich gehe in die Maske BBES, Register '3.Positionen' -> hier ist die Datenanzeige im Grid nun genau so sortiert wie in 1. eingestellt und gespeichert. Ebenso die Spaltenbreite :D

Das funktioniert so lange, bis ich im entspr. BBES.IB_Grid.GridLinks was eintrage. Ab dann ist die Darstellung der Bestellpositionen im Grid in der Bestellmaske für ALLE User festgelegt ...

Das hat auch in anderen Masken funktioniert, nur leider jetzt erstmalig in BZAHL nicht mehr ?
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

OK,

welcher Query ist es denn :?: q_1 :?:
dann geht es nicht, da q_1 vom Startprogramm belegt wird.

Das kann man sehen indem im onFormShow einfach mal ein

MessageBox(q_1.GridLinks.Text);

eingegeben wird.
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo festus01,
ich habe das Gefühl, dass ich mich scheinbar recht unklar ausdrücke. Also dann jetzt mal so ...

Maske BBES, hier klappt's:

Code: Alles auswählen

  inherited q_1: TIB_Query
    SQL.Strings = (
      'SELECT * FROM V_BBES '
      'ORDER BY MASKENKEY DESC'
      'FOR UPDATE')
    GeneratorLinks.Strings = (
      'V_BBES.ID = GEN_BBES')
    KeyLinks.Strings = (
      'V_BBES.ID')
    RequestLive = True
  end

  object d_2: TIB_DataSource [31]
    Dataset = q_2
  end

  object q_2: TIB_Query [32]
    SQL.Strings = (
      'SELECT * FROM V_BBESP')
    ColorScheme = False
    MasterSource = d_1
    MasterLinks.Strings = (
      'BBES_ID_LINKKEY=V_BBES.ID')
    MasterSearchFlags = [msfOpenMasterOnOpen, msfSearchAppliesToMasterOnly]
    ReadOnly = True
    BufferSynchroFlags = []
    FetchWholeRows = True
  end

      object IB_Grid_1: TIB_Grid
        Left = 4
        Top = 4
        Width = 528
        Height = 380
        CustomGlyphsSupplied = []
        DataSource = d_2
        OnDblClick = AllgDblClick
        TabOrder = 0
      end

Maske BZAHL, hier klappt's nicht:

Code: Alles auswählen

  inherited q_1: TIB_Query
    SQL.Strings = (
      'SELECT * FROM V_BZAHL FOR UPDATE')
    GeneratorLinks.Strings = (
      'V_BZAHL.ID = GEN_BZAHL')
    KeyLinks.Strings = (
      'V_BZAHL.ID')
    RequestLive = True
  end

  object D_2: TIB_DataSource [103]
    Dataset = q_2
  end

  object q_2: TIB_Query [102]
    SQL.Strings = (
      'select * from V_BZAHLPO')
    ColorScheme = False
    MasterSource = d_1
    MasterLinks.Strings = (
      'BZAHL_ID_LINKKEY=V_BZAHL.ID')
    MasterSearchFlags = [msfOpenMasterOnOpen, msfSearchAppliesToMasterOnly]
    ReadOnly = True
    BufferSynchroFlags = []
    FetchWholeRows = True
  end

  object GRID_V_BZAHL: TIB_Grid [95]
    Left = 408
    Top = 377
    Width = 314
    Height = 116
    CustomGlyphsSupplied = []
    DataSource = D_2
    TabOrder = 52
    CurrentRowColor = clAqua
  end
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Ahh, jetzt verstehe ich,
Geri12 hat geschrieben:Hallo festus01,
ich habe das Gefühl, dass ich mich scheinbar recht unklar ausdrücke. Also dann jetzt mal so ...

Maske BBES, hier klappt's:

Code: Alles auswählen

  inherited q_1: TIB_Query
    SQL.Strings = (
      'SELECT * FROM V_BBES '
      'ORDER BY MASKENKEY DESC'
      'FOR UPDATE')
    GeneratorLinks.Strings = (
      'V_BBES.ID = GEN_BBES')
    KeyLinks.Strings = (
      'V_BBES.ID')
    RequestLive = True
  end

  object d_2: TIB_DataSource [31]
    Dataset = q_2
  end

  object q_2: TIB_Query [32]
    SQL.Strings = (
      'SELECT * FROM V_BBESP')
    ColorScheme = False
    MasterSource = d_1
    MasterLinks.Strings = (
      'BBES_ID_LINKKEY=V_BBES.ID')
    MasterSearchFlags = [msfOpenMasterOnOpen, msfSearchAppliesToMasterOnly]
    ReadOnly = True
    BufferSynchroFlags = []
    FetchWholeRows = True
  end

      object IB_Grid_1: TIB_Grid
        Left = 4
        Top = 4
        Width = 528
        Height = 380
        CustomGlyphsSupplied = []
        DataSource = d_2
        OnDblClick = AllgDblClick
        TabOrder = 0
      end

Maske BZAHL, hier klappt's nicht:

Code: Alles auswählen

  inherited q_1: TIB_Query
    SQL.Strings = (
      'SELECT * FROM V_BZAHL FOR UPDATE')
    GeneratorLinks.Strings = (
      'V_BZAHL.ID = GEN_BZAHL')
    KeyLinks.Strings = (
      'V_BZAHL.ID')
    RequestLive = True
  end

  object D_2: TIB_DataSource [103]
    Dataset = q_2
  end

  object q_2: TIB_Query [102]
    SQL.Strings = (
      'select * from V_BZAHLPO')
    ColorScheme = False
    MasterSource = d_1
    MasterLinks.Strings = (
      'BZAHL_ID_LINKKEY=V_BZAHL.ID')
    MasterSearchFlags = [msfOpenMasterOnOpen, msfSearchAppliesToMasterOnly]
    ReadOnly = True
    BufferSynchroFlags = []
    FetchWholeRows = True
  end

  object GRID_V_BZAHL: TIB_Grid [95]
    Left = 408
    Top = 377
    Width = 314
    Height = 116
    CustomGlyphsSupplied = []
    DataSource = D_2
    TabOrder = 52
    CurrentRowColor = clAqua
  end
das hab ich noch nie so probiert - interessant :idea:

Ich werde es morgen mal versuchen. Vielleicht komme ich dahinter, oder SynERPy meldet sich.
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Hallo Geri12,

:D :D :D :D :D :D :D :D :D :D :D :D :D

das war ja mal wieder ein Akt.
Darauf muss man erst mal kommen :twisted:

In der Unit GlobFunc gibt es eine Function die aus einer SQL-Anweisung nur die Tabelle extrahiert.
Das heisst, aus dem SQL-Text "SELECT * FROM V_BZAHLPO", gibt die Function also V_BZAHLPO zurück.
Leider gibt die Funktion nur ein brauchbares Ergebnis zurück, wenn die SQL-Anweisung komplett in Großbuchstaben geschrieben wird.

Also einfach den SQL-Text in "SELECT * FROM BZAHLPO" abändern und schon klappts mit dem Nachbarn :wink:

:D :D :D :D :D :D :D :D :D :D :D :D :D
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo festus01,

Hut ab :D :D :D. Da wäre ich im Leben nie darauf gekommen, in Delphi in die Module reinzuschauen (zumal ich auch den Quellcode nicht vorliegen habe :wink: ).

Dir vielen Dank, hat nach Umstellung auf Großschrift direkt so funktioniert wie es sollte.

@Synerpy: Ist es wirklich so kompliziert, bei einer so restiktiven Anwendung der Groß-/Kleinschreibung an dieser Stelle noch ein UPPER unterzubringen ? :?

@festus01: Danke nochmals. (Denn irgendwann fängt man dann doch an, an sich selbst oder dem kompletten System zu zweifeln)
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Hmmm, wussten wir auch nicht. Werde freundlich nachfragen, wenn der entsprechende Programmierer heil aus dem Motorradurlaub zurück ist.
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 »

Hallo admin,
admin hat geschrieben:Hmmm, wussten wir auch nicht. Werde freundlich nachfragen, wenn der entsprechende Programmierer heil aus dem Motorradurlaub zurück ist.
sollten da noch Fragen sein, können Sie mich kontaktieren.

8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8)
8) Aber jetzt ist erst einmal 4 Wochen Urlaub angesagt. 8)
8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8) 8)
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
Geri12
Beiträge: 589
Registriert: Mi Apr 16, 2008 7:51 am

Beitrag von Geri12 »

Hallo admin,
wie könnt Ihr so wichtige Mitarbeiter per Motorrad in den Urlaub lassen? :shock:

Die müsste man mit Chauffeur hinbringen, damit sie gesund wiederkommen 8)
Gruß
Geri12

Software-Version: V4.2.5.2
FDB-Version: AvERP2008-A.14
Antworten