11-09-16, 03:58 AM
السلام عليكم
انا استخدم اداه datagridview لاظهار البيانات من ضمن هذه البيانات هناك عمود يحتوي على صور
ليست جميع الاسطر تحتوي على صوره اسطر فيها و اسطر لا
ما اريده هو فحص اذا كان هناك صوره في اسطر المعين فتظهر للمستخدم "ايقونة1"
ليست جميع الاسطر تحتوي على صوره اسطر فيها و اسطر لا
ما اريده هو فحص اذا كان هناك صوره في اسطر المعين فتظهر للمستخدم "ايقونة1"
اما اذا كان السطر لا يحتوي على صوره تظهر "ايقونة2"
هذه هي ال 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