سؤال

لدي بعض الجداول في قاعدة البيانات الخاصة بي مع حوالي 7K صفوف وأحتاج إلى تقديم تقرير على موقع الويب (ASP.NET) مع TABLE TABLE المخصص ، مثل التفاصيل.

ما هو الحل الأفضل لذلك، لأنه عندما أقوم على سبيل المثال بعرض مكرر بهذه الكمية من البيانات، يكون الأمر بطيئًا للغاية.

شكرا للنصيحة

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

المحلول

إذا كنت لا تريد الترحيل، ثم عليك ربما تحتاج بعض AJAX لجلب الصفوف أثناء التمرير، وربما إزالة الصفوف كما انتقل من رأي، إذا كنت بحاجة للحفاظ على الذاكرة.

نصائح أخرى

قم بإيقاف تشغيل حالة العرض

إلا إذا كنت في حاجة إليها

Page.EnableViewState = false;

تقسيم الجدول

إذا كنت لا ترغب في السير في مسار الترحيل، فيمكنك أيضًا محاولة تقسيم ملف كبير <table> إلى عدة أصغر <table>س.(كان من المعتاد أن المتصفح لا يمكنه عرض الجدول إلا بعد أن يرى النسخة النهائية </table>.لست متأكدًا مما إذا كان هذا لا يزال صحيحًا، ولكنه بالتأكيد يستحق المحاولة)

تخلص من حماقة

تأكد من أنك تستخدم CSS ولا تستخدم أشياء مثل

<td width="40" valign="top"> 50 </td>
<td class="a"> 50 </td> <!-- better  -->
<td>50</td> <!-- best  -->
<!-- if you need to specify a width, you only need to do it in one row  -->

يتذكر crap * 7000 = alot of crap

تقليل حجم الصفحة بأي ثمن

في بعض الأحيان، لا تكمن المشكلة في عرض الصفحة، ولكن التنزيل هو الذي يسبب المشكلة، لذا تحقق من ذلك.

الجداول المتداخلة ستؤذيك حقًا

قال ناف

وأود أن أقترح استخدام الترحيل.

النظر في صف نموذجي مثل هذا:

<tr><td>ID</td><td>Some data</td><td>More and more data</td></tr>

يحتوي كل صف على 66 حرفًا، لذا فإن وجود 7 آلاف صف سيلخص ما يقرب من 500 ألف من البيانات.وهذا كثير بالنسبة لعرض الويب.

لذا، إذا كنت تريد حقًا عرض كل شيء في صفحة واحدة، فاجعله في حده الأدنى:

  • لا تضيعوا المساحات
  • لا تستخدم السمات إلا إذا كان ذلك لا مفر منه تمامًا
  • لا تستخدم الفئة = "" إذا لم يكن لديك فئات مختلفة لصفوف مختلفة (قم بتطبيق نفس الفئة على جميع الصفوف بدلاً من ذلك)

على أي حال، اعتمادًا على الكمبيوتر المستهدف + المتصفح، قد يصبح هذا بطيئًا جدًا إذا كانت صفوفك أكبر.

وأنت لا أذكر أي اللغة التي تستخدمها، ولكن ذكر مكرر تشير ASP.Net؟ في تجربتي، وربط البيانات إلى DataGrid قابلة للهو أسرع على مجموعات البيانات الكبيرة.

ولكن، لدي لنتساءل لماذا كنت تريد أن عرض هذا الكثير من البيانات على صفحة ويب. لن المستخدم في كامل قواه العقلية الجلوس وانتقل من خلال ذلك الكثير من البيانات وتجد أنه من المفيد. الحد من البيانات إلى البيانات ذات الصلة التي من شأنها أن تكون مفيدة للمستخدم - تصفيتها بشكل عام إلى أقل من 100 صف

والمنظمة البحرية الدولية، تقريرا يتضمن هذا بيانات كثيرة لا طائل منه، بغض النظر عن الشكل، ولكن إذا كان لديك على الاطلاق أن يكون كل شيء عن تقرير مطبوع أو تلك، والنظر في توليد وثيقة PDF على الخادم بدلا من ذلك.

قد ترغب في محاولة أداة التقارير المخصصة لذلك الكثير من البيانات. شركتي تجعل أداة تسمى RSinteract (والمكونات وقح). يستخدم خدمات SQL Server التقرير.

إذا كنت ترغب فقط في تفريغ البيانات. أفترض أن المتصفح هو حبس في حين أنه يجعل ذلك أو أثناء الاستعلام قيد التشغيل. إذا كنت تعرف ما هو المتصفح الذي تستهدفه ... هل يمكن استخدام "المزيد ..." وصلة للحصول على المجموعة التالية من البيانات ويكون حد الصفوف 1000. ولكن هذا من شأنه أن يؤثر على Ctrl + F البحث. على غرار الترحيل ولكن وضع المسؤولية في أيدي المستخدم أعتقد.

إذا كنت حقا تبحث عن الحل "أفضل" من أجل "تطبيق ويب"، فما استقاموا لكم فاستقيموا صارخ نقترح عليك استخدام فلاش / فليكس لتقديم بكفاءة أن العديد من الصفوف. في حالة استخدام أي شيء يتجاوز HTML الأساسية ليست خيارا، ثم أود أن أقترح حيوي جلب صفوف جديدة كما تمرير المستخدم كما اقترحmbeckish ...

ولقد استخدمت شبكات ديف Express لعميل واحد للتعامل مع التقارير وأنهم يحبون ذلك (على الرغم من أنني قد بدلا وقد توالت بلدي!)

http://demos.devexpress.com/ASPxGridViewDemos/

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