الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

العمليات التنسيقية علي DataGridView

بدأه كارم سامي في 27 فبراير 2014 · 3 رد · 626 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ,,

 

اريد اسأل حضراتكم عن بعض الاشياء التي تخص DataGridView مع العلم انني حاولت عدة محاولات باتت بالفشل !!

 

الصورة المرفقة هي لجدول بقاعدة البيانات في DataGridView يبين للمدير جميع العمليات التي تتم في النظام ( اي غرفة مراقبة ) ..

 

post-235772-0-56104000-1393463872_thumb.

 

اريد ان :-

 

1- بمجرد تحميل البيانات بـ DataGridView الصفوف التي تحوي قيمة ( الحالة = غير مراجع ) تكون خلفيتها بلون وليكن WhiteSmoke واما التي تحتوي قيمة ( الحالة = مراجع ) فلتكن بلون مثلاً White . وهذه تم حلها

  foreach (DataGridViewRow row in control_roomDataGridView.Rows)
                if (row.Cells["dataGridViewTextBoxColumn10"].Value.ToString() == "غير مُراجع")
                {
                    row.DefaultCellStyle.BackColor = Color.WhiteSmoke;
                }
                else
                {
                    row.DefaultCellStyle.BackColor = Color.White;
                }

2- بالضغط علي صف من تلك الصفوف التي تحوي قيمة ( الحالة = غير مراجع ) تتحول القيمة الي ( مُراجع ) وخلفية هذا الصف الي اللون White .

 

. وهنا انا قد وصلت للجزء الاول ولكن عند تغير اللون اجعل الكود السابق يحدث في كل ضغطة وهذا قد يبطئ مكن سرعة النظام

 

فلا يوجد بديل ؟؟

control_roomDataGridView.CurrentRow.Cells["dataGridViewTextBoxColumn10"].Value = "مُراجع";
        
             foreach (DataGridViewRow row in control_roomDataGridView.Rows)
                if (row.Cells["dataGridViewTextBoxColumn10"].Value.ToString() == "غير مُراجع")
                {
                    row.DefaultCellStyle.BackColor = Color.WhiteSmoke;
                }
                else
                {
                    row.DefaultCellStyle.BackColor = Color.White;
                }

تم تعديل هذه المشاركة بواسطة كارم سامي في 27 فبراير 2014 في 05:05

#2

ربما البطيء ناتج عن انك تقوم بجلب جميع البيانات من الجدول دفعة واحدة وربما الجدول الذي تتحدث عنه يحمل عدد صفوف كبير جدا مما يحدث هذا البطيء

اذا كان كلامي صحيح حاول ان تستخدم اسلوب آخر لتحميل البيانات في الشاشة

مثلا الــ Paging

شاهد المثال و ستعرف ما أقصده

/index.php/topic/273845-%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A9-%D8%B7%D8%B1%D9%8A%D9%82%D8%A9-%D8%B9%D9%85%D9%84-paging-%D9%84%D9%84%D8%AF%D8%A7%D8%AA%D8%A7-%D8%AC%D8%B1%D9%8A%D8%AF-%D9%81%D9%8A%D9%88/

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 27 فبراير 2014 في 07:12

1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3
محمد فؤاد تركي كتب:

ربما البطيء ناتج عن انك تقوم بجلب جميع البيانات من الجدول دفعة واحدة وربما الجدول الذي تتحدث عنه يحمل عدد صفوف كبير جدا مما يحدث هذا البطيء

اذا كان كلامي صحيح حاول ان تستخدم اسلوب آخر لتحميل البيانات في الشاشة

مثلا الــ Paging

شاهد المثال و ستعرف ما أقصده

/index.php/topic/273845-%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A9-%D8%B7%D8%B1%D9%8A%D9%82%D8%A9-%D8%B9%D9%85%D9%84-paging-%D9%84%D9%84%D8%AF%D8%A7%D8%AA%D8%A7-%D8%AC%D8%B1%D9%8A%D8%AF-%D9%81%D9%8A%D9%88/

 

 

هذا فعلاً ما كنت انتوي ان افعله .. وهذا المثال وضح الكثير

#4

جرب هذا الكود  اسرع

 ولكن الشرط بة تشكيل تاكد من التظابق

private void control_roomDataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (control_roomDataGridView.CurrentRow.Cells["dataGridViewTextBoxColumn10"].Value.ToString() == "غير مُراجع")
                control_roomDataGridView.CurrentRow.DefaultCellStyle.BackColor = Color.WhiteSmoke;
            else
                control_roomDataGridView.CurrentRow.DefaultCellStyle.BackColor = Color.White;
        }

مواضيع مشابهة