50 개의 레코드가있는 단일 열 테이블이 있습니다. 나는 그 레코드에서 50 개의 버튼을 만들고 싶습니다. Vb.Net에서 어떻게 할 수 있습니까?런타임에서 데이터베이스 필드에서 버튼 만들기
도움이 될 것입니다.
50 개의 레코드가있는 단일 열 테이블이 있습니다. 나는 그 레코드에서 50 개의 버튼을 만들고 싶습니다. Vb.Net에서 어떻게 할 수 있습니까?런타임에서 데이터베이스 필드에서 버튼 만들기
도움이 될 것입니다.
을) 및 해당 RowCollection 루프. 예 :
Private Sub BtnLoadButtons_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLoadButtons.Click
Dim source As New DataTable("MyButtonTable")
source.Columns.Add(New DataColumn("MyButtonColumn", GetType(String)))
For i As Int32 = 1 To 50
Dim newRow As DataRow = source.NewRow
newRow("MyButtonColumn") = "Button_" & i
source.Rows.Add(newRow)
Next
'you are loading the above DataTable from SQL-Server, now iterate the rows...'
For Each row As DataRow In source.Rows
Dim btn As New Button()
btn.Name = DirectCast(row("MyButtonColumn"), String)
btn.Text = btn.Name
btn.Location = New Point(0, Me.Panel1.Controls.Count * btn.Height)
AddHandler btn.Click, AddressOf handleButton
Me.Panel1.Controls.Add(btn)
Next
End Sub
Private Sub handleButton(ByVal sender As Object, ByVal e As EventArgs)
Dim btn As Button = DirectCast(sender, Button)
'do something ...'
End Sub
우수. 정확히 내가 찾고있는 것. Schmelter 씨 감사합니다. 문안 인사 – Hakan
당신이 윈폼 응용 프로그램에서 작업하는 경우 자동으로 당신을위한 버튼 레이아웃 주문하기 때문에 당신은 FlowLayoutPanel을 사용할 수 있습니다
이 데이터 소스를 사용하여 (철 DataTable을을 : 당신은 윈폼을 의미 가정
dim i as integer=1
for each record in Table
dim btn as new Button
btn.id = "btn" & i
i+=1
Panel1.Controls.add(btn)
next
+1하지만 FlowLayout을 사용할 필요는 없습니다. i를 사용하여 위치 x/y가 i의 함수가 될 곳에 버튼을 상당히 간단하게 배치 할 수 있습니다. –
이 winforms, asp.net, wpf, silverlight 등입니까? 어떤 정보가 칼럼에 있습니까? –