2017-01-20 7 views
1

Ich erstelle einen Bericht in Crystal Reports, in dem die Spaltenreihenfolge mit der Reihenfolge übereinstimmen muss, in der sie in der SSDBGrid in VB6 angezeigt werden.Abrufen des Spaltenindex von SSDBGrid in VB6

Um dies zu tun, entschied ich, dass es am besten ist, jede Spalte im Raster zu durchlaufen, und rufen Sie eine Funktion, um die Parameterfeldwerte auf die richtige Überschrift (so Spalte 0 wäre der Wert für Parameterfeld @) col1, usw.)

Wie auch immer, der Code, den ich für diese haben, ist

Dim c As Column 
Dim cName As String 

For Each c In FShow_All_Accounts.grd_accounts.Columns 
    cName = "@Col" & c.ListIndex 
    Call setColumnHeaders(c.Index) 
    crxReport.ParameterFields.GetItemByName(cName).AddCurrentValue ("f") 
Next 

das Problem ist, dass vor allem die Art der c auf Spalte Einstellung und Schleifen über jedes c in grd_accounts falsch zu sein scheint - grd_accounts ist ein SSDBGrid, und zweitens, es Fehler beim Versuch, den Index zurückzugeben.

Also, meine Frage (n):

  • Was ist der richtige Weg über jede Spalte zu Schleife in einem SSDBGrid?
  • Zweitens, wie würde ich dann den Spaltenindex für die richtige Spalte bekommen, um in die Funktion zu gelangen?

Antwort

4

Die Antwort ist eigentlich einfacher als Sie es sich vorstellen. Ihr Code ist sehr fast da.

Dim c As Column 
Dim i As String 
Dim cname As String 

i = 0 

For Each c in grd_accounts.Columns 
    i = i + 1 
    cName = "@Col" & i 
    crxReport.ParameterFields.GetItemByName(cName).AddCurrentValue (c.Caption) 
Next 

Keine Notwendigkeit für die Hilfsfunktion. Dies wird über jede Spalte iterieren, cName auf "@Col" und den Wert von i setzen (auch die Spaltennummer), und daher wird dieses Parameterfeld im Bericht mit dieser Spaltenüberschrift versehen.

+0

Das funktioniert fast, außer, wenn ich die Reihenfolge der Spalten ändern, druckt es immer noch die Spalten in der gleichen Reihenfolge? – Harambe

+0

Keine Sorge, ich habe es gerade so beibehalten, wie es jetzt ist, mit den Spalten in einer festen Reihenfolge. – Harambe

Verwandte Themen