2017-03-07 1 views
0

Ich möchte mehrere Tasten Text aus Dataset füllen, aber ich möchte nicht jeden Befehl schreiben, gibt es eine Möglichkeit, es zu tun?Wie kann ich die Schaltfläche text -Eigenschaft mithilfe einer Schleife festlegen?

Hier ist mein Code:

Sub carga(ByVal boton As Integer) 

    Dim consulta() As cocinaDataSet.PRODUCTOSRow 
    Dim cantidad As Integer 
    consulta = CocinaDataSet.PRODUCTOS.Select() 
    cantidad = consulta.Length 
    Dim desde As Integer 
    desde = (boton - 1) * 60 
    Dim hasta As Integer 
    hasta = cantidad 

    If (desde > cantidad) Then 
    Else 
     Button1.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button2.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button3.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button4.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button5.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button6.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button7.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button8.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button9.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button10.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button11.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button12.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button13.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button14.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button15.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button16.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button17.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button18.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button19.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button20.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button21.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button22.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button23.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button24.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button25.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button26.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button27.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button28.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button29.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button30.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button31.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
    If (desde > cantidad) Then 
    Else 
     Button32.Text = consulta(desde).NOMBRE 
     desde = desde + 1 
    End If 
End Sub 

Ich hoffe, dass so etwas wie dies vorhanden ist:

For f = 1 To consulta.Length 
    button & f .text = consulta(f).NOMBRE 
Next 
+0

Sie befinden sich in der richtigen Spur, 'For ... Next' ist Ihr Weg, aber Sie müssen auf Ihre Schaltflächen verweisen, damit Sie sie während Ihrer Iteration geordnet abrufen können. Entweder Sie können sie in einem Array speichern oder Sie können sie aus der Eigenschaft ".Control" des übergeordneten Steuerelements (Sammlung) abrufen. Versuchen Sie, es zu codieren. Wenn es nicht funktioniert, setzen Sie Ihren Code-Versuch hier. – VBobCat

Antwort

1

So etwas Sie geben können, was Sie nach:

For f = 1 To consulta.Length - 1 

    Dim btn As Button = CType(Me.Controls("Button" & f.ToString()), Button) 

    btn.Text = consulta(f - 1).NOMBRE.ToString() 

Next 

Diese Stück Code wird die Button Steuerung basierend auf "Button & f" finden und wird dann diesetzenEigentum.

Hinweis consulta(f - 1). consulta wird nullbasiert sein und wird daher bei 0 beginnen. Da f bei 1 beginnt, müssen Sie 1 abziehen, damit Sie keinen der Artikel in consulta verpassen. Ich würde empfehlen, die Indizes durch Debugging zu überprüfen und sicherzustellen, dass sie dem entsprechen, was Sie erwarten. Sie können auch consulta.Length - 1 verwenden, da consulta auf Null basiert.

+1

Vielen Dank, dieser Code hat mein Problem gelöst. wieder danke – ElCalefactordeManchuri

+0

@ElCalefactordeManchuri kein Problem. Bitte denken Sie daran, die Antwort zu akzeptieren (kreuzen Sie links neben der Antwort an) – Bugs

+1

@ElCalefactordeManchuri: Bitte lesen Sie [** Wie funktioniert die Annahme einer Antwort? **] (http://meta.stackexchange.com/questions/5234/how- Do-Accepting-eine-Antwort-Arbeit) –

Verwandte Themen