تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اظهار الايقونه على gridview button حسب اذا كان يوجد بينات في السطر المعين
#1
السلام عليكم 
انا استخدم اداه datagridview لاظهار البيانات من ضمن هذه البيانات هناك عمود يحتوي على صور 
ليست جميع الاسطر تحتوي على صوره اسطر فيها و اسطر لا
ما اريده هو فحص اذا كان هناك صوره في اسطر المعين فتظهر للمستخدم "ايقونة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(0bc)


 
                   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 ObjectAs DataGridViewCellPaintingEventArgsHandles MetroGrid1.CellPainting End If
 
       If e.ColumnIndex 10 AndAlso e.RowIndex >= 0 Then
            e
.Paint(e.CellBoundsDataGridViewPaintParts.All)
 
           e.Graphics.DrawImage(My.Resources.show_image_25CInt((e.CellBounds.Width 2) - (My.Resources.show_image_25.Width 2)) + e.CellBounds.XCInt((e.CellBoun
            e
.Handled True
        End 
If
 
   End Sub 
وهذا الكود الخاص لاظهار الصوره المخزنة في قاعدة البيانات عند الضغط على ال button

PHP كود :
Dim id As Integer
    Private Sub MetroGrid1_CellContentClick
(sender As ObjectAs DataGridViewCellEventArgsHandles 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(queryConn)
 
           dr Cmd.ExecuteReader
            While dr
.Read
                If dr
("idpicture").ToString() <> "" Then
                    Dim image 
As [Byte]() = DirectCast(dr("idpicture"), [Byte]())
 
                   stream.Write(image0image.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 
الرد }}}
تم الشكر بواسطة:
#2
لا يوجد رد ؟؟
او طريقه لفهل هذا
الرد }}}
تم الشكر بواسطة:
#3
الغجلة ام الندامة يا ابن أخي
الفكرة ببساطة اشترط في عرض الايقونات ما يتم عرضه في العمود حسب قيمة معينة سواء عددية او نصية
بالبلدي كذا إذا كانت قيمة العمود س = 5 خلي الايقونة في العمود ص = Ok.ico والا فلتكن الايقونة في العمود ص = No.ico
استخدم رمحك أنت ولا تجعل الاخرين يطعمونك
بالتوفيق
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة:
#4
دائماً يوجد طريقة و من حظك ان القاعدة عندي فيها صور
بالاول روح Resource و اضف صورتين واحدة لوجود بيانات و اخرى لعدم وجود بيانات

و انتبه لمقاس الصورة انا اخترتهم قياس 24X24 يعني ايقونة
و اضف هذا الكود في المكان المناسب لك
PHP كود :
       For Each row As DataGridViewRow In Studant_tbDataGridView.Rows
            Dim cell 
As DataGridViewCell row.Cells("StuPic")

 
           If (cell.Value.ToString.Length And Not IsNothing(cell.Value.ToString.Length)) Then
                row
.Cells("StuPic").Value CType(My.Resources.imgSystem.Drawing.Image)
 
           Else
                row
.Cells("StuPic").Value CType(My.Resources.noimgSystem.Drawing.Image)
 
           End If

 
           If row.IsNewRow Then
                row
.Cells("StuPic").Value CType(My.Resources.noimgSystem.Drawing.Image)
 
           End If

 
       Next 
الحقل StuPic هو حقل الصورة لدي في القاعدة

بالتوفيق اخي
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: أبو عمر , Rabeea Qbaha
#5
(12-09-16, 01:42 AM)أبو عمر كتب : الغجلة ام الندامة يا ابن أخي
الفكرة ببساطة اشترط في عرض الايقونات ما يتم عرضه في العمود حسب قيمة معينة سواء عددية او نصية
بالبلدي كذا  إذا كانت قيمة العمود س = 5 خلي الايقونة في العمود ص = Ok.ico والا فلتكن الايقونة في العمود ص = No.ico
استخدم رمحك أنت ولا تجعل الاخرين يطعمونك
بالتوفيق

شكرا ابو عمر ، انا افهم ما تقول ولكن حاولت عدة محاولات ولم ينفع معي الامر او ينفع بوجود مشاكل فاردت ان اعرف اذ هناك طريقه افضل 
ففي الطريقه التي استخدمها ال datagridview اصبحت تعرظ البيانات بشكل بطيء ومزعج.
كل عام وانت بخير
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ارقام فوق السطر وتحته Abo Louay 2 191 27-01-24, 11:06 PM
آخر رد: Abo Louay
  [سؤال] undo/redo button mohamed sabry 1 156 15-01-24, 11:33 AM
آخر رد: تركي الحلواني
  [سؤال] كود اظهار رساله في حال وجود الرقم في اكثر من عمود مبرمج صغير 1 6 402 09-01-24, 01:41 AM
آخر رد: Taha Okla
  يوجد مشكلة عند تحميل البيانات فى كمبوبوكس داخل داتا جريد new_programer 2 473 17-10-23, 06:51 PM
آخر رد: new_programer
Star [كود] اريد تزويد 45 دقيقة على DateTimePicker1 كل ضغطة Button Ameenh 1 347 01-09-23, 07:13 AM
آخر رد: Asem2
Star [كود] اريد تزويد 45 دقيقة على DateTimePicker1 كل ضغطة Button Ameenh 0 279 01-09-23, 05:56 AM
آخر رد: Ameenh
  اظهار كرستال ريبورت MOHAMMED ALZWI 0 318 24-08-23, 02:47 PM
آخر رد: MOHAMMED ALZWI
Wink كيفية اظهار قاءمة عند النقر بزر الفأرة الايمن على الداتا قريد فيو في فيجوال 2010 RADOS 1 397 09-08-23, 09:39 PM
آخر رد: أبووسم
  اظهار السعر اسفل الصنف atefkhalf2004 2 397 28-07-23, 03:03 AM
آخر رد: atefkhalf2004
  [SQL] يوجد لدى خطأبرمجى ارجو المساعدة عاصم النجار 6 503 26-07-23, 05:22 PM
آخر رد: عبد الخالق

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم