المشاركات : 10
المواضيع 0
الإنتساب : Jan 2021
السمعة :
2
الشكر: 6
تم شكره 9 مرات في 8 مشاركات
08-01-21, 12:02 AM
(آخر تعديل لهذه المشاركة : 08-01-21, 12:11 AM {2} بواسطة Ashref.)
عندما عرضت الفورم اول مره
كان الداتاجريد فاضي بدون اعمده خالص
لكن الاستعلام جاب معاه اعمدته وعند ربط الداتاجريد بالداتتيبل انشئ اعمده تلقائيه من الداتاتيبل
رحت حضرتك اضفت عمودين من عندك وحددت اماكنهم (التفاصيل: Index=0) و (عمليات: Index=5)
وعندما جت تعرض الفورم مره اخرى كان العمودين موجودين
لكن لما وصل لامر ربط الداتاجريد مره تانيه
الداتاجريد سحب اعمده الداتاتيبل فقط وبقي العمودين لكن اصبحو (التفاصيل: Index=0) و (عمليات: Index=1 وليس Index=5)
ولما قام الداتاجريد بينشئ اعمدة الداتاتيبل من جديد صار مكنهم بعد العمودين الموجودين وللي متحذفوش
لهذا عندما قرات العمود (Index=1) طلعلك (عمليات) اللي اصبح Index=1
عارف حتسال بتقول طيب انا شايف الاعمده مترتبه مثل اول مره فتحت فيه الفورم
بقولك كل اعمده الداتاجريد لها خاصيه اسمها DisplayIndex يعني مكان العمود في العرض فقط
والعمودين اصلا متحذفوش وكانوا موجودين بعد اول مره اتفتح فيها الفورم واصبحوا (التفاصيل: DisplayIndex=0) و (عمليات: DisplayIndex=5)
لكن ال Index اترتب بناء على سحب الاعمده واعادتها مره تانيه
عشان كدا الخاصيه دي خدعتك بالشكل ده
تعقيب
عندما اشرت لك بوضع DataGridView1.AutoGenerateColumns = False بعد تسميه الاعمده
هذا الكود امر الداتاجريد على عدم اعادة انشاء الاعمده مره اخرى
فاحتفظ الداتاجريد بالاعمده اللي انشئها اول مره اتفتح فيها الفورم