منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : [سؤال] كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ (/showthread.php?tid=13464)

الصفحات: 1 2 3


RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - أشرف حكيم - 08-10-15

هذا صحيح لأني أريد أن يكون المتغير row مصفوفة من نوع DataGridViewRow   ،
حتى أخزن فيه مجموعة السجلات التي سيختارها المستخدم من شاشة البحث .


RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - مهموم - 08-10-15

السلام عليكم ورحمة الله

أخي أشرف

قصدي أن وضع تلك الأقواس خطأ يجب حذفها، لأن SelectedRows هي المصفوفة ودور المتغير row يأخذ سطر واحد من المصفوفة


RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - أشرف حكيم - 08-10-15

تمام ..
بس أنا أبغى أوقف على  كل SelectedRows  منهم
بحيث أدخل شرطاً يقول إذا كان السجل المختار هو  [SelectedRows[0 ، نضع بياناته
في السجل الحالي الذي يقف عليه المستخدم
أما باقي السجلات التالية :  [SelectedRows[1 وَ  [SelectedRows[2 وَ  [SelectedRows[3 .. الخ  ، فيتم إدراجها في نهاية الجريد الخاص بالفاتورة.
فكيف أفعل ذلك رجاء ؟!!


RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - مهموم - 08-10-15

السلام عليكم ورحمة الله

أخي أشرف

هذا مثال للطريقة التي تريدها في آخر رد لكم، يجب القراءة أكثر عن طريقة عمل foreach
PHP كود :
foreach (DataGridViewRow r in frm.simpleMultiselectDataGridView1.SelectedRows)
{
    if (
r.Index == 0)
    {
        
// هنا يكون row هو SelectedRows[0]
    
}
    else
    {
        
// هنا يكون row هو لباقي الأسطر
    
}




RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - أشرف حكيم - 08-10-15

أخي مهموم أشكرك على اهتمامك بالموضوع ، وردودك السريعة ، ولكن للأسف مستحيل أن ينجح هذا الكود في عمل الفكرة التي أريد تنفيذها .. لاحظ :
قمت بإظهار أرقام الـ Index الخاصة بالسجلات المختارة ، في مسج بوكس ، فأظهر لي أرقام الـ Index على مستوى الـ DataGidView ، وهذا ليس هو المطلوب :



النتيجة :
المطلوب عمل Index مستقل للسجلات المختارة ، بعيداً عن الـ Index الخاص بالـ DataGridView



RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - مهموم - 08-10-15

السلام عليكم ورحمة الله

أخي أشرف

هذه فعلا هي أرقام الأسطر المختارة فما المشكلة!

إذا كان المقصود أن الترتيب معكوس ضع هذا السطر بدل الموجود سابقاً
PHP كود :
foreach (DataGridViewRow r in frm.simpleMultiselectDataGridView1.SelectedRows.Cast<DataGridViewRow>().Reverse()) 



RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - أشرف حكيم - 08-10-15

المشكلة أني ما راح أعرف ايش أول سجل محدد من الـ Grid الموجود في شاشة البحث ، لأني ما أدري أي سجل هو اللي حيختاره المستخدم ، لأن أول سجل محدد سأقوم بوضع بياناته فيالسجل الحالي الذي يقف عليه المستخدم بالماوس ..
فلو قلت : if (r.Index == 0)
 لن ينفع ذلك لأن المستخدم قد لا يختار أول سجل في الجريد ..

عموماً .. كل اللي أبغاه إن كان الميثود [0]SelectedRows  عبارة عن مصفوفة ، أريد طريقة لعمل Loop على السجلات التي بداخل هذه المصفوفة :



RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - مهموم - 08-10-15

السلام عليكم ورحمة الله

أخي أشرف

بعد تبديل السطر الذي ذكرته لك في الرد الأخير فإن r.Index == 0 يعني أول سطر تم اختياره والذي هو [0]SelectedRows بغض النظر عن ترتيبه في DataGridView1.Rows

أتمنى هذه المرة قد وضحت لك الصورة

PHP كود :
foreach (DataGridViewRow r in frm.simpleMultiselectDataGridView1.SelectedRows.Cast<DataGridViewRow>().Reverse()) 
{
    if (
r.Index == 0)
    {
        
// هنا يكون row هو SelectedRows[0]
    
}
    else
    {
        
// هنا يكون row هو لباقي الأسطر
    
}




RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - أشرف حكيم - 08-10-15

غير صحيح مع الأسف لاحظ النتيجة :
الذي تغير هنا هو تعديل الترتيب فقط ، ولكن المشكلة قائمة..
المطلوب تطلع المسجات هكذا 0  -  1  -  2 



RE: كيف أنقل سجلات مختارة من DataGridView موجود في فورم إلى DataGridView في فورم آخر ؟ - مهموم - 08-10-15

السلام عليكم ورحمة الله

أخي أشرف

إن 0-1-2 هي ترتيب في الجدول وهي (1001001 و 1001002 و 1001003)
3-5-9 عي التي تم اختيارها وتجدها في المصفوفة SelectedRows وهي (1001004 و 1001006 و 1001010)

وبهذا يكون
r.Index == 0 .... SelectedRows[0] = 1001004
r.Index == 1 .... SelectedRows[1] = 1001006
r.Index == 2 .... SelectedRows[2] = 1001010

يبدو أنك لم تتمكن من التفريق بين SelectedRows و Rows الخاصة بالجدول DataGridView