سؤال

لقد قمت بتطوير ASP.NET منذ فترة قصيرة، واستخدمت كلاً من عناصر تحكم GridView وDataGrid من قبل لأشياء مختلفة، ولكن لم أتمكن أبدًا من العثور على سبب وجيه لاستخدام أحدهما أو الآخر.أود أن أعرف:

ما الفرق بين عنصري التحكم ASP.NET هذين؟ما هي مزايا أو عيوب كليهما؟هل هناك أي أسرع؟أحدث؟أسهل للصيانة؟

لا يبدو أن ملخص التحسس لعناصر التحكم يصف أي فرق بين الاثنين.يمكن لكل منهما عرض البيانات وتحريرها وفرزها وإنشاء الأعمدة تلقائيًا في وقت التشغيل.

يحرر: لم يعد Visual Studio 2008 يسرد DataGrid كعنصر تحكم متوفر في مربع الأدوات.لا يزال متاحًا (للدعم القديم على ما أعتقد) إذا قمت بكتابته يدويًا.

هل كانت مفيدة؟

المحلول

كان DataGrid عبارة عن عنصر تحكم ASP.NET 1.1، ولا يزال مدعومًا.وصل GridView إلى الإصدار 2.0، مما جعل بعض المهام أكثر بساطة، وأضاف ميزات مختلفة لربط البيانات:

يحتوي هذا الرابط على مقارنة بين ميزات DataGrid وGridView -

https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx

نصائح أخرى

ال GridView السيطرة هي خليفة ل DataGrid يتحكم.مثل ال DataGrid سيطر ال GridView تم تصميم عنصر التحكم لعرض البيانات في جدول HTML.عند الارتباط بمصدر بيانات، فإن DataGrid و GridView يتحكم في كل عرض صف من أ DataSource كصف في جدول الإخراج.

كلا ال DataGrid و GridView الضوابط مستمدة من WebControl فصل.على الرغم من أنه يحتوي على نموذج كائن مشابه لنموذج DataGrid التحكم، يحتوي عنصر التحكم GridView أيضًا على عدد من الميزات والمزايا الجديدة مقارنة بـ DataGrid السيطرة، والتي تشمل:

  • قدرات أكثر ثراءً في وقت التصميم.
  • تحسين قدرات ربط مصدر البيانات.
  • المعالجة التلقائية للفرز والترحيل والتحديثات والحذف.
  • أنواع الأعمدة الإضافية وعمليات عمود وقت التصميم.
  • واجهة مستخدم بيجر مخصصة (UI) مع خاصية PagerTemplate.

الاختلافات بين GridView السيطرة و DataGrid السيطرة تشمل:

  • دعم الترحيل المخصص المختلف.
  • نماذج مختلفة للحدث.

يتطلب فرز البيانات وترحيلها وتحريرها في مكانها ترميزًا إضافيًا عند استخدام DataGrid يتحكم.ال GridView يمكّنك التحكم من إضافة إمكانيات الفرز والترحيل والتحرير دون كتابة أي تعليمات برمجية.بدلاً من ذلك، يمكنك أتمتة هذه المهام، إلى جانب المهام الشائعة الأخرى مثل ربط البيانات بمصدر بيانات، عن طريق تعيين الخصائص في عنصر التحكم.

كان DataGrid موجودًا في الأصل في .NET 1.0.تم تقديم GridView (واستبدال DataGrid) في .NET 2.0.أنها توفر وظائف متطابقة تقريبا.

إذا كنت تعمل في Visual Studio 2008 / .NET 3.5، فمن المحتمل ألا تستخدم أيًا منهما.استخدم ListView - فهو يوفر لك ميزات GridView جنبًا إلى جنب مع مرونة تصميم المكرر.

يكمن الاختلاف الرئيسي في إدارة ViewState IIRC.يتطلب DataGrid تشغيل ViewState حتى تتمكن من التحرير والفرز.

أحد الاختلافات الأمنية الرئيسية هو أن DataGrid يستخدم BoundColumn الذي لا يقوم بتشفير البيانات المرتبطة.لا توجد خاصية لتشغيل HtmlEncoding أو إيقاف تشغيله أيضًا، لذا عليك القيام بذلك في التعليمات البرمجية بطريقة ما.

يستخدم GridView BoundField، الذي يقوم بـ HtmlEncode بشكل افتراضي على البيانات المرتبطة ولديه خاصية HtmlEncode إذا كنت بحاجة إلى إيقاف تشغيله.

شبكة بيانات

  1. DataGrid تم تقديمه مع Asp.Net 1.0.
  2. للفرز نحن بحاجة للتعامل معها SortCommand event وشبكة Rebind المطلوبة وللترحيل ، نحتاج إلى التعامل مع PageIndexChanged eventوإعادة ربط الشبكة المطلوبة.
  3. تحتاج إلى كتابة التعليمات البرمجية لتنفيذ عمليات التحديث والحذف.
  4. لا يدعم التنسيق التلقائي أو ميزات النمط.
  5. الأداء سريع بالمقارنة مع GridView.

عرض شبكي

  1. تم تقديم GridView مع Asp.Net 2.0.
  2. دعم مدمج لـ Paging and Sorting.
  3. دعم مدمج لـ Update and Delete operations.
  4. يدعم التنسيق التلقائي أو ميزات النمط.
  5. الأداء بطيء مقارنة ب DataGrid.

ال events و properties يحب Item لقد تغير كما Row.

على سبيل المثال،

  • ItemCommand - RowCommand

  • ItemDataBound - RowDataBound

  • e.Item.ItemType - e.Row.RowType

بعض الاختلافات الأساسية بين عرض الشبكة وعرض التفاصيل

يحتوي عنصر التحكم GridView أيضًا على عدد من الميزات والمزايا الجديدة مقارنة بعنصر التحكم DataGrid، والتي تشمل:

· قدرات أكثر ثراء في وقت التصميم.· تحسين قدرات ربط مصدر البيانات.· التعامل التلقائي مع الفرز والترحيل والتحديثات والحذف.· أنواع الأعمدة الإضافية وعمليات العمود في وقت التصميم.· واجهة مستخدم بيجر مخصصة (UI) مع خاصية PagerTemplate.

تتضمن الاختلافات بين عنصر التحكم GridView وعنصر التحكم DataGrid ما يلي:· دعم الترحيل المخصص المختلف.· نماذج مختلفة للفعاليات.

أحد الاختلافات هو إخراج HTML.سوف تقوم شبكة البيانات بإخراج TD للرأس وستعرض شبكة البيانات ستنتج TH.يمكن أن يسبب هذا تغييرات غير بديهية في الشاشة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top