Advertisement
royryando

Untitled

Feb 3rd, 2017
417
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 3.96 KB | None | 0 0
  1. 'I have this code to run
  2. 'But this require a lot of time if there is a lot of data
  3. Private Sub getAllItem()
  4.         Try
  5.             pnlAllItem.Controls.Clear()
  6.  
  7.             Dim jumlah As Integer = 0
  8.             Dim left As Integer = 0
  9.             Dim top As Integer = 0
  10.             Dim total As Integer = 1
  11.             left = 10
  12.             top = 10
  13.  
  14.             conn.Close()
  15.             conn.Open()
  16.             Dim cmd As New MySqlCommand("SELECT * FROM tb_item", conn)
  17.             Dim dr As MySqlDataReader = cmd.ExecuteReader()
  18.             If dr.HasRows Then
  19.                 While dr.Read()
  20.                     'Create dynamic object
  21.  
  22.                     'Picture
  23.                     Dim pic As New PictureBox
  24.                     If dr.GetValue(2).ToString = "" Then
  25.                         pic.Image = My.Resources.an
  26.                         pic.Size = New Size(120, 120)
  27.                     Else
  28.                         Using Mem As New IO.MemoryStream(dr.GetValue(2), True)
  29.                             pic.Image = CType(Image.FromStream(Mem).Clone(), Image)
  30.                             pic.Size = New Size(120, 120)
  31.                         End Using
  32.                     End If
  33.                     pic.Name = dr.GetValue(0).ToString
  34.                     pic.SizeMode = PictureBoxSizeMode.StretchImage
  35.                     pic.Cursor = Cursors.Hand
  36.                     pic.Location = New Point(left, top)
  37.                     pnlAllItem.Controls.Add(pic)
  38.  
  39.                     'Label for Product Name
  40.                     Dim lbl As New Label
  41.                     lbl.Name = "lbl" & dr.GetValue(0).ToString
  42.                     lbl.Size = New Size(290, 18)
  43.                     lbl.Font = New Drawing.Font("Maiandra GD", 12, FontStyle.Bold)
  44.                     lbl.Text = dr.GetValue(1).ToString
  45.                     lbl.Location = New Point(left + pic.Width + 10, top)
  46.                     pnlAllItem.Controls.Add(lbl)
  47.  
  48.                     'Label for Description
  49.                     Dim lbl2 As New Label
  50.                     lbl2.Name = "lbl2" & dr.GetValue(0).ToString
  51.                     lbl2.Size = New Size(290, 70)
  52.                     lbl2.Font = New Drawing.Font("Microsoft Sans Serif", 8)
  53.                     lbl2.Text = dr.GetValue(3).ToString
  54.                     lbl2.Location = New Point(left + pic.Width + 10, top + lbl.Height + 6)
  55.                     pnlAllItem.Controls.Add(lbl2)
  56.  
  57.                     'Label for Price and discon
  58.                     Dim diskon As Double = dr.GetValue(8)
  59.                     Dim harga As Double = dr.GetValue(5)
  60.                     Dim hasil As Double
  61.                     hasil = harga - (harga * (diskon / 100))
  62.                     Dim lbl3 As New Label
  63.                     lbl3.Name = "lbl3" & dr.GetValue(0).ToString
  64.                     lbl3.Size = New Size(290, 18)
  65.                     lbl3.Font = New Drawing.Font("Microsoft Sans Serif", 9, FontStyle.Italic)
  66.                     If Not dr.GetValue(8) = 0 Then
  67.                         lbl3.Text = dr.GetValue(4).ToString & dr.GetValue(5).ToString & "   Diskon " & dr.GetValue(8).ToString & "%    =>   " & dr.GetValue(4).ToString & hasil.ToString
  68.                     Else
  69.                         lbl3.Text = dr.GetValue(4).ToString & dr.GetValue(5).ToString
  70.                     End If
  71.                     lbl3.Location = New Point(left + pic.Width + 10, lbl2.Top + 80)
  72.                     pnlAllItem.Controls.Add(lbl3)
  73.  
  74.                     'handler
  75.                     AddHandler pic.Click, AddressOf HandlerDynamicObjectClick
  76.  
  77.                     jumlah += 1
  78.                     If total = 1 Then
  79.                         left += 500
  80.                         total += 1
  81.                     ElseIf total = 2 Then
  82.                         top += 180
  83.                         left -= 500
  84.                         total = 1
  85.                     End If
  86.                 End While
  87.             End If
  88.         Catch ex As Exception
  89.             'MsgBox(ex.Message)
  90.         End Try
  91.     End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement