Halloj!Skapa flikar i en TabControl efter ett DataSet
Jag har en fundering på hur man gör enligt följande:
1. Populerar ett DataSet med info från en databas.
2. Varje post i DataSetet genererar en ny flik i en TabControl som heter värdet i kolumnen [Fliknamn] i
databasen.
3. Varje flik populeras med värden från databasen och sen ska det till en knapp som heter Spara.
Finns det något smidigt sätt att åstadkomma detta??
Har börjat lite smått så här:
Private Sub DoPopulateTabPage()
'Instantiate SQL-connection and SQL-DataReader
Dim Conn As SqlConnection = New SqlConnection("Data Source=111.222.333.444;Initial Catalog=TestID;UID=sa;PWD=sa")
Conn.Open()
Dim Comm As SqlCommand
Comm = New SqlCommand("SELECT * FROM tblTest WHERE CheckOut='Nope'", Conn)
Dim rs As SqlDataReader = Comm.ExecuteReader()
rs.Read()
If rs.HasRows = False Then
Dim EmptyTabPage As New TabPage()
EmptyTabPage.Text = "Anvinf"
TabControl1.TabPages.Add(EmptyTabPage)
Dim lblEmpty As New Label
lblEmpty.Text = "Nyinkomna användare saknas"
EmptyTabPage.Controls.Add(lblEmpty)
Else
Do Until rs.HasRows = False
Dim myTabPage As New TabPage()
myTabPage.Text = "(" & (TabControl1.TabPages.Count + 1) & ")" & " Anv: " & rs("AnvID").ToString()
TabControl1.TabPages.Add(myTabPage)
Dim pnlLayout As New FlowLayoutPanel
myTabPage.Controls.Add(pnlLayout)
Dim lblCaption As New Label
lblCaption.Text = "Visar: " & rs("AnvID").ToString()
pnlLayout.Controls.Add(lblCaption)
pnlLayout.FlowDirection = FlowDirection.TopDown
Dim lblRecipient As New Label
lblRecipient.Text = "ID:" & vbCrLf & rs("fName").ToString() & vbCrLf & rs("lName").ToString() & vbCrLf & rs("Address").ToString() & vbCrLf & rs("Zip").ToString() & " " & rs("City").ToString()
pnlLayout.Controls.Add(lblRecipient)
Dim btnName As New Button
btnName.Text = "Spara"
pnlLayout.Controls.Add(btnName)
rs.NextResult()
Loop
End If
rs.Close()
Conn.Close()
End Sub
Men måste inte knappar, labels och liknande ha olika namn, det får jag inte riktigt till..
OCH, jag får inte ut några resultat utan bara de värden jag hårdkodar in.
//Johannes