11-09-16, 03:58 AM
السلام عليكم
انا استخدم اداه datagridview لاظهار البيانات من ضمن هذه البيانات هناك عمود يحتوي على صور
ليست جميع الاسطر تحتوي على صوره اسطر فيها و اسطر لا
ما اريده هو فحص اذا كان هناك صوره في اسطر المعين فتظهر للمستخدم "ايقونة1"
ليست جميع الاسطر تحتوي على صوره اسطر فيها و اسطر لا
ما اريده هو فحص اذا كان هناك صوره في اسطر المعين فتظهر للمستخدم "ايقونة1"
اما اذا كان السطر لا يحتوي على صوره تظهر "ايقونة2"
![[صورة مرفقة: 1473551689711.png]](http://store1.up-00.com/2016-09/1473551689711.png)
هذه هي ال gridview في خانة الصور استطيع عرض صورة واحدة وهي ثابتة للكل
وهذا الكود الخاص باظهار ال gridview
PHP كود :
Public Sub showGV()
Using cmd As New SqlCommand("SELECT * FROM money_sent", Conn)
cmd.CommandType = CommandType.Text
Using sda As New SqlDataAdapter(cmd)
Using dt As New DataTable()
sda.Fill(dt)
'Set AutoGenerateColumns False
MetroGrid1.AutoGenerateColumns = False
'Set Columns Count
MetroGrid1.ColumnCount = 12
'Add Columns
Dim bc As New DataGridViewButtonColumn
bc.Tag = False
bc.Text = "Delete"
bc.Name = ""
bc.Width = 25
'MetroGrid1.Columns.Add(bc)
MetroGrid1.Columns.Insert(0, bc)
MetroGrid1.Columns(1).Name = "smoney"
MetroGrid1.Columns(1).HeaderText = "المبلق المرسل"
MetroGrid1.Columns(1).DataPropertyName = "smoney"
MetroGrid1.Columns(2).Name = "moneyt"
MetroGrid1.Columns(2).HeaderText = "العملة"
MetroGrid1.Columns(2).DataPropertyName = "moneyt"
MetroGrid1.Columns(3).Name = "commission"
MetroGrid1.Columns(3).HeaderText = "العمولة"
MetroGrid1.Columns(3).DataPropertyName = "commission"
MetroGrid1.Columns(4).Name = "rname"
MetroGrid1.Columns(4).HeaderText = "أسم المستقبل"
MetroGrid1.Columns(4).DataPropertyName = "rname"
MetroGrid1.Columns(5).Name = "rphone"
MetroGrid1.Columns(5).HeaderText = "هاتف المستقبل"
MetroGrid1.Columns(5).DataPropertyName = "rphone"
MetroGrid1.Columns(6).Name = "rcountry"
MetroGrid1.Columns(6).HeaderText = "البلد المستقيل"
MetroGrid1.Columns(6).DataPropertyName = "rcountry"
MetroGrid1.Columns(7).Name = "sname"
MetroGrid1.Columns(7).HeaderText = "أسم المستقبل"
MetroGrid1.Columns(7).DataPropertyName = "sname"
MetroGrid1.Columns(8).Name = "sphone"
MetroGrid1.Columns(8).HeaderText = "هاتف المستقبل"
MetroGrid1.Columns(8).DataPropertyName = "sphone"
MetroGrid1.Columns(9).Name = "comname"
MetroGrid1.Columns(9).HeaderText = "الشركة المستقبلة"
MetroGrid1.Columns(9).DataPropertyName = "comname"
MetroGrid1.Columns(10).Name = "date"
MetroGrid1.Columns(10).HeaderText = "تاريخ الارسال"
MetroGrid1.Columns(10).DataPropertyName = "date"
MetroGrid1.Columns(11).Name = "note"
MetroGrid1.Columns(11).HeaderText = "الملاحظات"
MetroGrid1.Columns(11).DataPropertyName = "note"
MetroGrid1.Columns(12).Name = "id"
MetroGrid1.Columns(12).HeaderText = "id"
MetroGrid1.Columns(12).DataPropertyName = "id"
MetroGrid1.DataSource = dt
Dim showbt As New DataGridViewButtonColumn
showbt.Tag = False
showbt.Text = "image"
showbt.Name = ""
showbt.Width = 25
'MetroGrid1.Columns.Add(bc)
MetroGrid1.Columns.Insert(10, showbt)
End Using
End Using
End Using
End Sub
وهذا الكود الخاص لوضع الايقونه على ال button
PHP كود :
Private Sub MetroGrid1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles MetroGrid1.CellPainting End If
If e.ColumnIndex = 10 AndAlso e.RowIndex >= 0 Then
e.Paint(e.CellBounds, DataGridViewPaintParts.All)
e.Graphics.DrawImage(My.Resources.show_image_25, CInt((e.CellBounds.Width / 2) - (My.Resources.show_image_25.Width / 2)) + e.CellBounds.X, CInt((e.CellBoun
e.Handled = True
End If
End Sub
وهذا الكود الخاص لاظهار الصوره المخزنة في قاعدة البيانات عند الضغط على ال button
PHP كود :
Dim id As Integer
Private Sub MetroGrid1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles MetroGrid1.CellContentClick
id = MetroGrid1.SelectedRows(0).Cells(13).Value.ToString
If e.ColumnIndex = 10 Then
Dim dr As SqlDataReader
Dim stream As New MemoryStream()
Conn.Open()
Dim query As String
query = "select * from money_sent where id='" & id & "'"
Cmd = New SqlCommand(query, Conn)
dr = Cmd.ExecuteReader
While dr.Read
If dr("idpicture").ToString() <> "" Then
Dim image As [Byte]() = DirectCast(dr("idpicture"), [Byte]())
stream.Write(image, 0, image.Length)
Dim bitmap As New Bitmap(stream)
Form3.Show()
Form3.PictureBox1.Image = bitmap
Else
MsgBox("لا يوجد صورة في هذة الخانة", MsgBoxStyle.Information, "معلومات")
End If
End While
Conn.Close()
End If
End Sub




