我是新学员。我在Visual Basic中创建一个应用程序,我需要帮助将动态数据从数据库加载到我的标签页。
我希望TabPages名称为“Category Names”(来自Tbl_Category),并且在每个Tabpages中我想要创建按钮,这些按钮都是来自“Tbl_ItemDetails”的记录。
按钮名称将来自“ItemSKU”列。和按钮图像将来自“Item_Image”列。
我搜索了很多但是无法做到。请帮帮我。 如果你们知道其他任何方式(没有tabpages),请分享。谢谢!
这是我尝试过的一些代码。 1.图像代码不起作用。 2.如果我在tabpages上有更多项目,则不会显示任何滚动条。所以我只能看到几个按钮并非全部。 ![在此输入图像说明] [1]
Private Sub AddProductsToTabbedPanel()
Dim i As Integer = 1
For Each tp As TabPage In TabControl1.TabPages
Dim filteredProduct As ObjectQuery(Of Tbl_ItemDetails) = New ObjectQuery(Of Tbl_ItemDetails)(("SELECT VALUE P FROM Tbl_ItemDetails AS P WHERE P.CatID = " + i.ToString), cse)
Dim flp As FlowLayoutPanel = New FlowLayoutPanel
flp.Dock = DockStyle.Fill
For Each tprod As Tbl_ItemDetails In filteredProduct
Dim b As Button = New Button
b.Size = New Size(100, 100)
b.Text = tprod.ItemSKU
' ''how can i get image on button. bellow code is not working
'b.BackgroundImage = tprod.Item_Image
'b.Image = tprod.Item_Image
b.Tag = tprod
AddHandler b.Click, AddressOf Me.UpdateProductList
flp.Controls.Add(b)
Next
tp.Controls.Add(flp)
i = (i + 1)
Next
End Sub
答案 0 :(得分:0)
a)如果您只提供现有文件的路径名
button.Image = New Bitmap("C:\temp\Info.bmp")
b)如果从包含位图的数据库中获得一个bytearray
Dim byteArrayFromDB As Byte()
Dim memStream As System.IO.MemoryStream
Dim img As Image
memStream = New System.IO.MemoryStream(byteArrayFromDB)
img = Image.FromStream(memStream)
flp.AutoScroll = True