تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] اضافة ايقونة لصفوف الداتاجريد فيو
#1
السلام عليكم

عندي داتاجريد فيو فية اسماء وعندي تيكست بوكس اريد عند وضع نفس قيمة التقيم الموجودة بخلية الداتاجريد  للعميل المحدد يتم اضافة ايقونة من الريسورس او imagelist

الي راس صفوف الداتاجريد وتتغير الايقونة برمجيا عند تغيير القيمة

   
الرد
تم الشكر بواسطة:
#2
(17-05-19, 08:07 AM)محمد اسماعيل كتب : السلام عليكم

عندي داتاجريد فيو فية اسماء وعندي تيكست بوكس اريد عند وضع نفس قيمة التقيم الموجودة بخلية الداتاجريد  للعميل المحدد يتم اضافة ايقونة من الريسورس او imagelist

الي راس صفوف الداتاجريد وتتغير الايقونة برمجيا عند تغيير القيمة


هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في الريسورس
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(My.Resources.img1, r)
    End If
End Sub

هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في imagelist
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(Me.ImageList1.Images("img1"), r)
    End If
End Sub

وهذا الحدث لتحديث الايقونات اذا تغيرت قيمه خليه
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
    DataGridView1.Invalidate()
End Sub

وهذا كدث تغير قيمه التيكست بوكس
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    DataGridView1.Invalidate()
End Sub
الرد
#3
(17-05-19, 09:07 PM)sami4 كتب :
(17-05-19, 08:07 AM)محمد اسماعيل كتب : السلام عليكم

عندي داتاجريد فيو فية اسماء وعندي تيكست بوكس اريد عند وضع نفس قيمة التقيم الموجودة بخلية الداتاجريد  للعميل المحدد يتم اضافة ايقونة من الريسورس او imagelist

الي راس صفوف الداتاجريد وتتغير الايقونة برمجيا عند تغيير القيمة


هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في الريسورس
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(My.Resources.img1, r)
    End If
End Sub

هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في imagelist
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(Me.ImageList1.Images("img1"), r)
    End If
End Sub

وهذا الحدث لتحديث الايقونات اذا تغيرت قيمه خليه
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
    DataGridView1.Invalidate()
End Sub

وهذا كدث تغير قيمه التيكست بوكس
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    DataGridView1.Invalidate()
End Sub

جربت الكود لا يعمل علي داتاجريد عند وضعية right to left=true
يقوم بوضع الايقونة اخر خلية وليس علي هيدر الصف
الرد
تم الشكر بواسطة:
#4
(17-05-19, 09:50 PM)محمد اسماعيل كتب :
(17-05-19, 09:07 PM)sami4 كتب :
(17-05-19, 08:07 AM)محمد اسماعيل كتب : السلام عليكم

عندي داتاجريد فيو فية اسماء وعندي تيكست بوكس اريد عند وضع نفس قيمة التقيم الموجودة بخلية الداتاجريد  للعميل المحدد يتم اضافة ايقونة من الريسورس او imagelist

الي راس صفوف الداتاجريد وتتغير الايقونة برمجيا عند تغيير القيمة


هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في الريسورس
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(My.Resources.img1, r)
    End If
End Sub

هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في imagelist
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(Me.ImageList1.Images("img1"), r)
    End If
End Sub

وهذا الحدث لتحديث الايقونات اذا تغيرت قيمه خليه
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
    DataGridView1.Invalidate()
End Sub

وهذا كدث تغير قيمه التيكست بوكس
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    DataGridView1.Invalidate()
End Sub

جربت الكود لا يعمل علي داتاجريد عند وضعية right to left=true
يقوم بوضع الايقونة اخر خلية وليس علي هيدر الصف


حسنا اضف الكود التالي بعد سطر Dim r مباشره
If sender.RightToLeft = RightToLeft.Yes Then r.X = sender.Width - sender.RowHeadersWidth + 3
الرد
#5
جرب هذا المثال أرجو أن يفي بالغرض :


الملفات المرفقة
.zip   DataGridViewAddImageAndSelectColumn.zip (الحجم : 122.53 ك ب / التحميلات : 42)
الرد
#6
(17-05-19, 10:18 PM)asemshahen5 كتب : جرب هذا المثال أرجو أن يفي بالغرض :

كود فوق الممتاز ويفي بالغرض تماما

(17-05-19, 09:57 PM)sami4 كتب :
(17-05-19, 09:50 PM)محمد اسماعيل كتب :
(17-05-19, 09:07 PM)sami4 كتب :
(17-05-19, 08:07 AM)محمد اسماعيل كتب : السلام عليكم

عندي داتاجريد فيو فية اسماء وعندي تيكست بوكس اريد عند وضع نفس قيمة التقيم الموجودة بخلية الداتاجريد  للعميل المحدد يتم اضافة ايقونة من الريسورس او imagelist

الي راس صفوف الداتاجريد وتتغير الايقونة برمجيا عند تغيير القيمة


هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في الريسورس
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(My.Resources.img1, r)
    End If
End Sub

هذا الكود لرسم الايقونه في راس الصف كما في الصوره اذا كانت صوره الايقونه في imagelist
Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
    Dim r = New Rectangle(e.RowBounds.X + sender.RowHeadersWidth - 16 - 3, e.RowBounds.Y + 3, 16, 16)
    If Val(sender.Rows(e.RowIndex).Cells(2).Value) = Val(TextBox1.Text) Then
        e.Graphics.DrawImage(Me.ImageList1.Images("img1"), r)
    End If
End Sub

وهذا الحدث لتحديث الايقونات اذا تغيرت قيمه خليه
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
    DataGridView1.Invalidate()
End Sub

وهذا كدث تغير قيمه التيكست بوكس
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    DataGridView1.Invalidate()
End Sub

جربت الكود لا يعمل علي داتاجريد عند وضعية right to left=true
يقوم بوضع الايقونة اخر خلية وليس علي هيدر الصف


حسنا اضف الكود التالي بعد سطر Dim r مباشره
If sender.RightToLeft = RightToLeft.Yes Then r.X = sender.Width - sender.RowHeadersWidth + 3

جزاك اللَّة خيرا علي ما قدمت
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] كيفية اضافة البيانات من اكسس إلى داتاغريد حقل كومبو بوكس Alhootti1 8 220 أمس, 07:14 AM
آخر رد: Alhootti1
  ممكن كود اضافة ترقيم تلقائي +السنة الحالية ابو رضوان 2 145 01-09-19, 04:28 PM
آخر رد: ابو رضوان
Exclamation [VB.NET] اريد كود اضافة مجلد في سيرفر FTP SnTnt 2 148 04-08-19, 03:36 AM
آخر رد: SnTnt
  مشكله في اضافة البيانات التي باللغه العربيه في سيكوال سيرفر Emam emam 10 285 30-07-19, 04:19 AM
آخر رد: ابراهيم ايبو
  [VB.NET] وضع ايقونة بالداتا اسامه الهرماوي 3 147 25-07-19, 06:26 AM
آخر رد: asemshahen5
  كيفية اضافة اسم وصورة المنتج في الفورم نور الهدى الهدى 2 212 18-07-19, 10:29 PM
آخر رد: asemshahen5
  [VB.NET] عندما يكون حقل فارغ في داتا جريد فيو منع اضافة حقل جديد khairallah 0 136 12-07-19, 10:13 PM
آخر رد: khairallah
  مشكلة في اضافة التاريخ الي قاعدة بيانات اكسس makky 8 379 05-06-19, 03:40 AM
آخر رد: heshamelkomy71
  مشكلة في اضافة التاريخ الي قاعدة بيانات اكسس makky 11 569 04-06-19, 03:12 PM
آخر رد: elgokr
  [سؤال] حل مشكلة عدم وجود اضافة vlc في فجويل حاتمي 2 228 16-05-19, 02:11 PM
آخر رد: حاتمي

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


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