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

سؤال تقني في إستخدام Datagrid View

مغلق
بدأه Final Heaven في 21 يونيو 2007 · 6 رد · 937 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي داتابيز و فيها جدول أشخاص و جدول شركات

و في البرنامج أقوم بأخذ View فيها البيانات موحدة و أخرى خاصة بالأشخاص لوحدهم و أخرى خاصة بالشركات لوحدهم

أقوم بالعمل في البرنامج على Disconnected Mode اي أن التخزين يكون في Dataset و يغلق Connection

فهذه الحلول التي أراها:

عمل Panel فيها Datagrid لها إتصال مع AllContacts View و التي هي الأولى

و Panel أخرى تتعامل مع View التي للأشخاص

و أخرى للشركات

لقد قمت بوضع Column في كل من الأشخاص و الشركات و فيه بت تحدد لي إن كانت 1 فيعني بأن هذا شخص و إن كانت 0 فإن هذه شركة

و إستفدت من هذه في عملية الدمج Union to the views للأشخاص و الشركات أي views الأولى

و لقد إرتأيت إلى تحديث ال dataset بعد فتح البرنامج أو إدخال أي Contact جديد من أي Client على الشبكة

بما أن الداتابيز على السيرفر

و في كل مرة أسحب المعلومات من Views الثلاثة إلى كل من Datagrid View الموجودين

و لكن هل هذه الطريقة سليمة فإن كانت الشركة لديها من المعلومات الضخمة و تستخدم البرنامج فلو قلنا بأن

عدد الأشخاص و الشركات أكثر من مليون مثلا فهل هذه العملية سترهق الشبكة

و هل الحل بأن أسحب المعلومات من View الأولى التي فيها جميع Contacts و أقوم بتقسيم ما فيها

على حسب Bit التي تحدد نوع Contact إن كان شركة أو شخصا و لكن هذه العملية ألن تستغرق الوقت

بما أنها ستكون على Client و لكن في كل مرة يأتي مدخل جديد على الداتابيز سيقوم جميع Clients بهذه العملية

تلقائيا ، أولن تكون مزعجة جدا في حلة البيانات الضخمة و هل الحل في وضع داتابيز أخرى على Client

لتحتمل هذه البيانات و بتعامل البرنامج معها و يكون Thread لتعبئة الداتابيز بكل جديد

فما رأيكم ؟

تم تعديل هذه المشاركة بواسطة Final Heaven في 21 يونيو 2007 في 20:11

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#2

غريب لم و لا رد حتى الآن؟

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#3

للرفع

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#4

السلام عليكم

ما رأيك في إستعمال ما يسمى بال Multithreadingأي Threadلأحذ البيانات التي تود عرضها في الجدول الأول وآخر يهتم بتعبئة الجدول الثاني وهكذا تحميل البيانات يصبح أسرع؟

#5

ليست عندي مشكلة في إستخدام Threads و هذا ما تكلمت عنه في السطر ما قبل الأخير من كلامي

و لكن هذا ليس مغزى سؤالي سأعيد صياغته بشكل آخر

عند العمل على برنامج ضخم أي يعمل على داتا ضخمة و فيه centralized database اي انني من برنامجي

Desktop Application أقوم بالحصول على الداتا من السيرفر، و السؤال هنا ما هي أفضل طريقة للتعامل مع هذه الحالة

و التي هي:

لدي datagrid و عليها أن تعرض جميع Contacts الموجودين مجتمعين + عرض الأشخاص لوحدهم + عرض الشركات لوحدهم

الحل الأول الذي اراه و سهل: عند عرضي لأحدها أقوم بطلبه من السيرفر علما أنني أعمل على Disconnected mode

و تقوم عملية التحديث لثلاثة datasets كل واحدة لتعرض أحد الخيارات التي في الأعلى ، و يحدث التحديث عندما تأتي event

من برنامج السيرفر بأن هناك تعديلا طرأ على الداتا لجميع clients

ألا نرى بأن هنا ثقلا كبيرا على الشبكة أم لا بأس بحصوله (أتحدث هنا عن طلب مليون record في كل مرة تحديث مثلا لكل client )

الطريقة الثانية التي فكرت بها و هي أن اقوم بإحضار جميع Contacts فقط و بإستخدام loop أستخرج منها الأشخاص و الشركات

و لكن ألا يحس المستخدم ببطئ البرنامج و عدم فعاليته في هذه الحالة لأن التقسيم يحصل على Client

الحل الثالث و الذي هو إستخدام thread كما قال الأخ Ben_Laiid

و أرى أن نجمع بين الحل الثاني و الحل الثالث

و أن يكون تقسيم المعلومات ب Thread

و لكن السؤال هنا اي من هذه الحلول هو الأفضل و الذي ينم عن عمل متقن و ليس تيسير عمل (كأن نقول المهم يمشي)

أتمنى ممن يملك خبرة في هذا المجال أن يتفضل علينا بأي إقتراح كما قام الأخ الفاضل Ben_Laiid

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#6

للرفع

و كن فتى في ذرى العلياء همّته

يسمو بغاياته حتى على زحل

موقع خاص بي

My Website

قمت بتصميم لعبة بسيطة بإستخدام اللغة الجميلة الجافا

Plane Fighter Game

برنامج جميل بلغة الجافا يساعد على تنظيم المشاكل

The TS Organizer

#7

sorry this computer doesn't support arabic :( a

i am not understand your problem Exactly( but when you talk about data come from server and you want split it in this case i prefer use DATASTRUCTURE it easy to use and dont take alot of memory like grid view because it Graphic Control). if you use it to store data

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…