' Set up my connection information
Dim con As New SqlConnection(My.Settings.conApps)
Dim com As New SqlCommand("", con)
com.CommandType = CommandType.StoredProcedure
' Define my datatable to be displayed
Dim dt As DataTable
dt = New DataTable
dt.Columns.Add("ItemPicture", GetType(Image))
dt.Columns.Add("PartNumber", GetType(String))
dt.Columns.Add("PartDescription", GetType(String))
dt.Columns.Add("Available", GetType(Int32))
dt.Columns.Add("Used", GetType(Int32))
dt.Columns.Add("ImagePath", GetType(String))
' Set the datasource for the datagridview to the datatable I just created
' Set some column formatting so my datagridview looks the way I want it to
Me.dgvItemsList.DataSource = dt
Me.dgvItemsList.Columns("ImagePath").Visible = False
Me.dgvItemsList.Columns("PartNumber").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
Me.dgvItemsList.Columns("PartDescription").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
Me.dgvItemsList.Columns("Available").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
Me.dgvItemsList.Columns("Used").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
Me.dgvItemsList.Columns("ItemPicture").Width = 100
Me.dgvItemsList.Columns("PartNumber").FillWeight = 20
Me.dgvItemsList.Columns("PartDescription").FillWeight = 60
Me.dgvItemsList.Columns("Available").FillWeight = 10
Me.dgvItemsList.Columns("Used").FillWeight = 10
Me.dgvItemsList.Columns("ItemPicture").HeaderText = "Item Picture"
Me.dgvItemsList.Columns("PartNumber").HeaderText = "Part Number"
Me.dgvItemsList.Columns("PartDescription").HeaderText = "Part Description"
Me.dgvItemsList.Columns("ItemPicture").ReadOnly = True
Me.dgvItemsList.Columns("PartNumber").ReadOnly = True
Me.dgvItemsList.Columns("PartDescription").ReadOnly = True
Me.dgvItemsList.Columns("Available").ReadOnly = True
' Define my storedprocedure that returns the data I want to display
' Loop through each record and add it to the DATATABLE...which in turn causes it to be displayed in the datagridview on the form
com.CommandText = "HandTruckPartsTracking.GetItemList"
con.Open()
dr = com.ExecuteReader
While dr.Read
Dim r As DataRow = dt.NewRow
r.Item(0) = ResizeImage(Image.FromFile(dr("ImagePath").ToString), 100, 100)
r.Item(1) = dr("PartNumber").ToString
r.Item(2) = dr("PartDescription").ToString
r.Item(3) = Convert.ToInt32(dr("CurrentInventory").ToString)
r.Item(4) = 0
r.Item(5) = dr("ImagePath").ToString
dt.Rows.Add(r)
End While
con.Close()