تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تصفية داتا جريد
#1
عندي نموذج به داتا جريد و به حدث selection change يعمل الصورة جيدة و كذلك يوجد اداة تصفية الصفوف طبقا للتاريخ 
او الاسم او الوظيفة 
عند تشغيل اداوات التصفية لا يستجيب الحدث selection change 
ارجو الافادة
الرد }}}
تم الشكر بواسطة:
#2
الصف المحدد لا يتغير عند فرز الأعمدة
على سبيل المثال إذا كانت لديك dataGridView بها 4 صفوف Rows وقمت بتحديد الصف الثالث ثم ضغطت على رأس العمود column header لفرز الصفوف حسب قيمة خلايا هذا العمود
فإن الاختيار لن يتغير من الصف الثالث الذي اخترته على الرغم من أن بيانات الصف قد تغيرت
فالإختيار هنا يتم على رقم الصف في الأداة index وليس على محتوى خلايا الصف

لهذا عليك أولا أن تميز هذا الصف وتخزن قيمة خاصة به في متغير نصي قبل اتمام عملية الفرز

مثال اذا كانت عملية الفرز عندك تعتمد على الضغط على راس العمود:
كود :
void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
   if (e.RowIndex == -1)
   {
       selected = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
   }
}
هنا خزنت قمية الخلية الاولى من السطر المحدد في متغير selected - عليك اختيار قيمة لا تتكرر في باقي الصفوف مثل رقم متسلسل او اسم
لاحظ ان شرط التنفيذ هو ان يكون العمود المضغوط رقمه -1 وهو رقم خلية راس العمود

الان تحتاج الى استخدام حدث sorted الذي ينفذ بعد الفرز
بحيث ستغير الصف المحدد الى الصف الذي يطابق محتوى الخلية المحددة قيمة المتغير selected
وبعدها سينفذ تلقائيا حدث selection_changed

هذا رابط المصدر ولو انه مرتبط ب SortableBindingList
http://stackoverflow.com/questions/48195...pplication
الرد }}}
تم الشكر بواسطة: amgad525 , amgad525
#3
(18-12-16, 01:56 AM)محمد كريّم كتب : الصف المحدد لا يتغير عند فرز الأعمدة
على سبيل المثال إذا كانت لديك dataGridView بها 4 صفوف Rows وقمت بتحديد الصف الثالث ثم ضغطت على رأس العمود column header لفرز الصفوف حسب قيمة خلايا هذا العمود
فإن الاختيار لن يتغير من الصف الثالث الذي اخترته على الرغم من أن بيانات الصف قد تغيرت
فالإختيار هنا يتم على رقم الصف في الأداة index وليس على محتوى خلايا الصف

لهذا عليك أولا أن تميز هذا الصف وتخزن قيمة خاصة به في متغير نصي قبل اتمام عملية الفرز

مثال اذا كانت عملية الفرز عندك تعتمد على الضغط على راس العمود:
كود :
void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
   if (e.RowIndex == -1)
   {
       selected = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
   }
}
هنا خزنت قمية الخلية الاولى من السطر المحدد في متغير selected - عليك اختيار قيمة لا تتكرر في باقي الصفوف مثل رقم متسلسل او اسم
لاحظ ان شرط التنفيذ هو ان يكون العمود المضغوط رقمه -1 وهو رقم خلية راس العمود

الان تحتاج الى استخدام حدث sorted الذي ينفذ بعد الفرز
بحيث ستغير الصف المحدد الى الصف الذي يطابق محتوى الخلية المحددة قيمة المتغير selected
وبعدها سينفذ تلقائيا حدث selection_changed

هذا رابط المصدر ولو انه مرتبط ب SortableBindingList
http://stackoverflow.com/questions/48195...pplication

شكرا
الرد }}}
تم الشكر بواسطة:
#4
هذا موضوع قديم موجود في المنتدى ولكن لم استطيع تطبيقه على مشروعي
من خلال الكود المذكور علما انه الكود الذي استخدمه في البحث هو
كود :
   Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged
       Dim ba As New BindingSource
       ba.DataSource = DataGridView1.DataSource
       ba.Filter = DataGridView1.Columns("الموضوع").DataPropertyName & " like '%" & TextBox9.Text & "%'"
       DataGridView1.DataSource = ba
   End Sub

و الكود المستخدم في التحديد هو
كود :
   Private Sub DataGridView1_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
       Dim te As String = BindingContext(dt).Position
       TextBox1.Text = dt.Rows(te).Item("التاريخ")
       TextBox2.Text = dt.Rows(te).Item("الجهة المرسلة")
       TextBox3.Text = dt.Rows(te).Item("الجهة المستلمة")
       TextBox4.Text = dt.Rows(te).Item("رقم الكتاب")
       TextBox5.Text = dt.Rows(te).Item("تاريخ الكتاب")
       TextBox6.Text = dt.Rows(te).Item("الموضوع")
       TextBox7.Text = dt.Rows(te).Item("الملاحظات")
       TextBox8.Text = dt.Rows(te).Item("تسلسل الاضبارة")
   End Sub
الرد }}}
تم الشكر بواسطة: سعود
#5
كود :
Dim te As String = BindingContext(dt).Position
الـPosition رقمي وليس نصي عرفه كـ Integer وليس String.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: رسول555 , رسول555
#6
شكرا لك اخي لكن هل من الممكن التعديل على الكودات المذكورة
مع الشكر الجزيل
الرد }}}
تم الشكر بواسطة:
#7
(29-04-18, 03:20 PM)رسول555 كتب : شكرا لك اخي لكن هل من الممكن التعديل على الكودات المذكورة
مع الشكر الجزيل

العفو ... لكن حسب الكود لم ار خطا سوى ما كتبته بمشاركتي  السابقة.

ملاحظة! 
            اذا ربطت كل الادوات بمصدر واحد لن تحتاج لاكواد الاسناد الموجودة بالكود.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: رسول555
#8
لم تحل المشكلة عندما اقوم بالتصفية يتوقف خاصية selection change
الرد }}}
تم الشكر بواسطة:
#9
(30-04-18, 01:55 AM)رسول555 كتب : لم تحل المشكلة عندما اقوم بالتصفية يتوقف خاصية selection change
 ؟؟؟؟؟؟؟؟؟؟؟؟؟؟
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,221 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] حقل الزامي ضمن داتا كريت فيو EMADW 1 412 20-05-25, 01:12 PM
آخر رد: princelovelorn
  [VB.NET] داتا كريت فيو EMADW 13 1,147 15-05-25, 10:48 PM
آخر رد: Taha Okla
  [VB.NET] جمع عمود داتا كريت فيو مع تجاهل الخلايا الفارغة EMADW 4 483 29-04-25, 10:57 PM
آخر رد: Taha Okla
  [VB.NET] ترقيم داتا كريت فيو EMADW 1 343 21-04-25, 11:52 PM
آخر رد: Taha Okla
  [VB.NET] استدعاء داتا كريت فيو من فورم اخر EMADW 1 419 16-04-25, 06:10 PM
آخر رد: مصمم هاوي
  [VB.NET] بطئ جلب البيانات في داتا جرد فيو h2551996 4 485 06-01-25, 06:45 PM
آخر رد: h2551996
  التحكم في ارتفاع صفوف الداتا جريد فيو cvcvcv 3 4,659 09-10-24, 08:28 PM
آخر رد: Kamil
  اضافة اسطر فارعة في الداتا جريد فيو ismaeel 1 557 25-08-24, 02:43 AM
آخر رد: Taha Okla
  ارجو المساعدة في كود مقارنة عامود داخل الداتا جريد فيو alachk 11 1,082 11-08-24, 11:44 AM
آخر رد: alachk

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


يقوم بقرائة الموضوع: