منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيف أنقل سجلات مختارة من 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


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

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

بالاعتماد على أداة الـ DataGridView المعدلة التي في هذا الموضوع  ، قمت بعمل مشروع مكون من شاشتين : شاشة Invoice ، وشاشة Search :








ما أريد القيام به هو :

أن اضغط على مفتاح Seatch من شاشة Invoice ، فتظهر شاشة Seatch

ثم من شاشة Seatch ، أريد أن اختار سجلات معينة  هكذا :





ثم بمجرد الضغط على مفتاح Pass ، أريد أن يتم تمرير السجلات المختارة فقط
إلى شاشة Invoice

فكيف يتم ذلك .. الرجاء مساعدتي في ذلك وشكراً .



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

https://www.youtube.com/watch?v=PI3ad-TebP0


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

شاهدت هذا المثال مسبقاً ، ولكن لم أجد فيه طريقة نقل السجلات المحددة من DataGridView  إلى DataGridView آخر .



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

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

أخي أشرف

في BtnPass للفورم FrmSearch نعيد قيمة مفتاح رجوع OK
PHP كود :
private void BtnPass_Click(object senderEventArgs e)
        {
            
DialogResult =  DialogResult.OK;
        } 

وفي BtnSearch للفورم FrmInvoice نقرأ القيمة المعادة من الأمرShowDialog فإذا كانت القيمة OK نقرأ الأسطر المختارة من الفورم FrmSearch
PHP كود :
private void BtnSearch_Click(object senderEventArgs e)
        {
            
FrmSearch frm = new FrmSearch();
            if (
frm.ShowDialog() == DialogResult.OK)
            { 
                foreach (
DataGridViewRow r in frm.simpleMultiselectDataGridView1.SelectedRows)
                {
                    
DGVInvoice.Rows.Add(new object[] {r.Cells[0].Valuer.Cells[1].Valuer.Cells[2].Valuer.Cells[3].Valuer.Cells[4].Value});
                }
            }
            
frm.Dispose();
        } 



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

مهموم الله يسعدك تفاءلوا بالخير تجدوه
أشرف أفصح عن الهدف اللي تبغاه يمكن تلاقي اقتراحات تفوق الي انت واضعه في بالك وتنفذ اللي في بالك واكثر !!!

بالتوفيق


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

شكراً لك أخي مهموم على مساعدتك القيمة .. جزاك الله الجنة.. وفرج عنك همك  Big Grin

كذلك الشكر موصول لأخي أبوعمر .. تحياتي لك ..  

أما بالنسبة للهدف الذي أريد أن أحققه فهو(عمل شاشة فاتورة للمبيعات) ، تقوم بإدخال بيانات الأصناف فيها عن طريق السجلات الموجودة أداة الـ DataGridView مباشرة ، حيث أنّ معظم الأمثلة الموجودة في الانترنت لعمل شاشة فاتورة المبيعات ، تقوم بإدخال الأصناف المباعة إلى الـ DataGridView ، عن طريق أدوات وسيطة مثل الـ  TextBox أو الـ ComboBox ونحوها .
والفكرة التي أودّ الوصول إليها تتمثل في التالي :
من شاشة فاتورة المبيعات يفترض أن يقوم المستخدم بإدخال اسم الصنف في الـ DataGridView مباشرة ، ثم يضغط Enter فتظهر بيانات الصنف على السجل الذي يقف عليه ..
ولكن ماذا لو لم يستطع المستخدم تذكر اسم الصنف ؟
عندها أريد مساعدته من خلال إظهار نافذة بحث للأصناف فيختار منها ..
نافذة البحث هذه ستظهر بطريقتين : إما بالنقر المزدوج على السجل الذي يريد إضافة الصنف عليه ، أو بالضغط على مفتاح Search ..
وعند ظهور نافذة البحث سيقوم المستخدم باختيار : إما صنف واحد فقط ، أو أكثر من صنف .
فإذا اختار صنفاً واحداً فقط  من شاشة البحث، أريد أن يتم إدراجه على نفس السجل الذي يقف عليه في الـ Grid في شاشة فاتورة المبيعات . (وبالمناسبة .. السجل الذي يقف عليه قد يكون في منتصف السجلات، أي أن هناك سجلات أخرى بعده وبها بيانات ، وليست خالية) لاحظ الصورة :
 
أما لو اختار عدة سجلات من شاشة البحث ، عندها أريد أن يتم إدراج أول سجل من السجلات التي اختارها ، على السجل الذي يقف عليه في شاشة فاتورة المبيعات ، أما السجلات الأخرى المختارة من شاشة البحث ، فيتم إدراجها بعد آخر سجل مكتوب فيه بيانات .
هذه هي الفكرة التي أود عملها .. ولا أدري هل هي جيدة أم لا، أم أن هناك أفكار أفضل لعمل فاتورة المبيعات ، فإن كان كذلك أرجو أن تزودوني مشكورين ببعض الأمثلة في هذا الصدد.



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

فكرة رائعة
اظن العقبة الكبرى في سبيل تنفيذها قد انحلت بالمرفق
بالتوفيق !


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

نعم لكن توجد عقبة أخيرة في هذا المشروع ، وهي :
عندما يختار المستخدم عدة سجلات من شاشة البحث لنقلها إلى شاشة الفاتورة ، يظهر Error :

لا أدري أين المشكلة بالضبط ؟!! Sad
المشروع مرفق وبداخله قاعدة البيانات .



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

خلينا ننتظر اللي حملوا المشروع يمكن يساعدون ولو باقتراح !!!
المنتديات العربية غريبة
اليوم 2015
والله الاقي مشاركات في هذا العام على مشاركات اصحابها وضعوها من 2007 لكن يتركون تعليق شكرا توضيح
إلا في المنتديات العربية
ومنها منتدانا
" لحظة لا أحد يقول لي افعل الخير ولا تنتظر الشكر" اذا تبغى اهل الخير يستمرون انت لا تحرمهم دعمك المعنوي !!!
كان ينفع احط مشاركتي ف موضوع جديد بس يللاه فرصة افضفض شوي !!!


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

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

أخي أشرف

من خلال صورة الكود لاحظت وجود أقواس [] والمفترض عدم وجودها لكون تعريف المتغير row كنوع DataGridViewRow فقط