locked
Noch einmal zum Problem Spaltenbreitenveränderung beim Grid RRS feed

  • Allgemeine Diskussion

  • Hallo NG,

    eigentlich hatte ich den alten Thred schon abgeschlossen, da man unter Berücksichtigung der Reihenfolge beim Anpassen eines Spaltenobjekts den dort beschriebenen Fehler vermeiden kann. Nachdem jedoch einige Teilnehmer dieses Forums der Meinung waren, es läge vermutlich daran, dass noch keine Datenquelle an das Grid gebunden wäre, möchte ich hier zeigen, dass es daran definitiv nicht liegt.

    Das folgende Beispiel zeigt zwar "nur" die Veränderung der ersten Spalte, aber ich hatte schon Tabellen bei denen die meisten zu einer Minimumbreite zusammengezogen waren, bei der Laufzeit.

    Ich kann in der Designphase alles mögliche bei Culumn1 verändern. Das Ergebnis betreffs der Spaltenbreitenveränderung ist jedoch immer dasselbe!

    Also doch ein Bug?

    LG Jürgen

     


    <--------(nur Fliegen sind schöner!)-------->
    Donnerstag, 1. Dezember 2011 09:36

Alle Antworten

  • Deine Screenshots zeigen nicht, wann und wie Du die Daten denn nun bindest.

    a) Steht zur Entwurfszeit in den Controlsources der einzelnen Gridcolumns schon, was an sie gebunden werden wird?
    b) steht die Tabelle, die zur Entwurfszeit schon gebunden ist zur Laufzeit dann auch schon bereit, wenn das Grid.Init läuft?

    Punkt b) ist lösbar, indem man Form.Bindcontrols erst danach auf .T. setzt.

    Aber wenn Du erst zur Laufzeit Grid.Recordsource setzt, ist es schon zu spät, wenn Du sie weder zur Entwurfs- noch Laufzeit setzt, macht das Grid erst recht, "was es will", bindet sich den aktiven Arbeitsbereich an und verliert sein Layout.

    Aber auch binden selbst muß nicht irgendwie geschehen, damit das Grid "lieb" bleibt.

    Tschüß, Olaf. 

    Donnerstag, 1. Dezember 2011 18:40
  • Zur Entwurfszeit binde ich bereits die Datenquelle ein, und zwar sowohl die Tabelle ins Grid als auch die einzelnen Felder an die Columns.

    Ich mache in beiden Fällen, d. h. einmal wenn es klappt ohne diese Verschiebungen und einmal mit diesen, dasselbe, nur nicht in derselben Reihenfolge!

    Deshalb kann es nur ein Bug sein. Aber egal. Wenn man weiß wie kann man damit leben ;-)

    Gruß Jürgen

     


    <--------(nur Fliegen sind schöner!)-------->
    Sonntag, 4. Dezember 2011 11:52
  • >Zur Entwurfszeit binde ich bereits die Datenquelle ein, und zwar sowohl die Tabelle ins Grid als auch die einzelnen Felder an die Columns.

    Ok, wenn ich das von vornherein gewußt beziehungsweise begriffen hätte, ist klar was passiert:

    Sobald Du Recordsource setzt, werden alle Controlsources auch im Entwicklungsmodus resettet.

    Klicke mal mit rechts auf das Grid und wähle "Builder" aus dem Kontextmenü. Das gibt Dir interaktiv viel einfacher die Möglichkeit Tabelle und deren Felder anzubinden und anzuordnen etc. und setzt letztlich nur die Grideigenschaften, die Du jetzt vielleicht händisch setzt. Dann klappt das aber auch auf jeden Fall, der Builder weiß schon wie er was in welcher Reihenfolge setzen muß.

    Es ist natürlich nicht selbstverständlich, aber selbst wenn die Recordsource zu den schon gesetzten Controlsourcen passt, das setzen der gröbsten Info, welche Tabelle Du anbindest, übersteuert die Detailinfos, es macht also nur Sinn so herum die Datenbindungsangaben auch schon zur Entwurfszeit zu setzen.

    Tschüß, Olaf.

    Montag, 5. Dezember 2011 10:37
  • Klicke mal mit rechts auf das Grid und wähle "Builder" aus dem Kontextmenü.

    Geil!

    Das habe ich noch nie probiert, immer nur alles Schritt für Schritt und intuitiv ;-((

    Vielen Dank Olaf. Damit scheint man sich wirklich viel Arbeit zu sparen.

    Herzliche Grüße

    Jürgen

     


    <--------(nur Fliegen sind schöner!)-------->
    Dienstag, 6. Dezember 2011 09:33