DataGridViewからデータにアクセスして、CellClickイベントによって整形しようとしています。私はセルをクリックエヴァーVB .NETエラー!タイプ 'system.object'のオブジェクトを型 'system.byte []'にキャストできません
では、私は表からすべてのデータを形成するために得たが、のPictureBoxで画像を見ることができないとき。 私はこのコードをしようとしたとき:
pic1 = selectedRow.Cells(13).Value
Dim ms As New MemoryStream(pic1)
pb_stud_pic.Image = Image.FromStream(ms)
私はエラーを得ました!
「[] system.byte」を入力するタイプ「のSystem.Object」のオブジェクトをキャストすることができませんでしその後、私はコードの下に試してみてください:私が試してみました何
..しかし、その後、私はピクチャボックスに画像を取得してはいけません:Private Sub DataGridView1_CellClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
Try
Dim index As Integer = e.RowIndex
Dim selectedRow As New DataGridViewRow()
selectedRow = DataGridView1.Rows(index)
txt_stud_no.Text = selectedRow.Cells(0).Value.ToString()
txt_stud_name.Text = selectedRow.Cells(1).Value.ToString()
dtp_stud_dob.Value = selectedRow.Cells(2).Value.ToString()
txt_stud_gender.Text = selectedRow.Cells(3).Value.ToString()
If txt_stud_gender.Text = "Male" Then
rdo_male.Checked = True
Else
rdo_female.Checked = True
End If
cb_stud_blood.Text = selectedRow.Cells(4).Value.ToString()
txt_stud_add.Text = selectedRow.Cells(5).Value.ToString()
txt_stud_city.Text = selectedRow.Cells(6).Value.ToString()
txt_stud_pc.Text = selectedRow.Cells(7).Value.ToString()
txt_stud_mob.Text = selectedRow.Cells(8).Value.ToString()
cb_adyear.Text = selectedRow.Cells(9).Value.ToString()
cb_cbranch.Text = selectedRow.Cells(10).Value.ToString()
txt_stud_email.Text = selectedRow.Cells(11).Value.ToString()
cb_csem.Text = selectedRow.Cells(12).Value.ToString()
con.Open()
dr = cm.ExecuteReader()
If dr.Read() Then
If Not dr.IsDBNull(dr.GetOrdinal("Image")) Then
pic1 = CType(dr("Image"), Byte())
pic1 = selectedRow.Cells(13).Value
pic1 = ds.Tables("Student").Rows(i)(13)
If Not (pic1 Is Nothing) Then
Dim ms As New MemoryStream(pic1)
pb_stud_pic.Image = Image.FromStream(ms)
Else
pb_stud_pic.Image = Nothing
End If
End If
End If
con.Close()
Catch ex As Exception
MessageBox.Show("Error!" & ex.Message)
con.Close()
End Try
End Sub
DGVセルは常にOBjectを返しますが、DataGridViewImageColumnの場合、値はオブジェクトにラップされたImageです – Plutonix