我想从数据集填充几个按钮文本,但我不想写每个命令,有什么办法吗?
这是我的代码:
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
我希望存在这样的事情:
For f = 1 To consulta.Length
button & f .text = consulta(f).NOMBRE
Next
答案 0 :(得分:1)
这样的事情可能会让你得到你想要的东西:
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
这段代码会根据Button
找到"Button & f"
控件,然后设置.Text
属性。
注意consulta(f - 1)
。 consulta
将基于零,因此从0开始。由于f
从1开始,您需要扣除1,这样您就不会错过consulta
中的任何项目。我建议通过调试来检查索引,并确保它们符合您的预期。您可能还想再次使用consulta.Length - 1
,因为consulta
基于零。