سؤال

كما هو الحال في العنوان، هل يعرف أحد كيفية تجميد رأس GridView في ASP.NET؟

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

المحلول

والخيار (أ) شراء في حزمة واجهة المستخدم التي تتضمن GridView كهربائيا مع هذه الوظيفة المضمنة.

والخيار (ب) لفة بنفسك - انها ليست بسيطة. دينو اسبوزيتو ديه نهج واحد .

وتحرير: لاحظوا فقط أن المقالة على ارتباطات دينو إلى منطقة المشترك الوحيد على موقع مجلة ASPnetPro.

وهنا <لأ href = "http://weblogs.asp.net/dwahlin/archive/2007/07/31/freeze-asp-net-gridview-headers-by-creating-client-side-extenders.aspx "يختلط =" noreferrer نوفولو "> نهج آخر باستخدام موسعات.

نصائح أخرى

يمكنك القيام بذلك في CSS

تجميد الرأس:1.تحديد فئة .تجميد في ورقة الأنماط:

.Freezing
{
   position:relative ;
   top:expression(this.offsetParent.scrollTop);
   z-index: 10;
}   

2. قم بتعيين فئة cssClass لرأس Datagrid للتجميد

وحاول هذا المشروع مفتوح المصدر لASP.NET. فهي تمتد GridView لتوفير ثابت رأس الصفحة وذيلها والنداء وعرض العمود كبير ثانية. يعمل بشكل جيد في IE 6/7/8، فايرفوكس 3.0 / 3.5، كروم وسفاري.

http://johnsobrepena.blogspot.com /2009/09/extending-aspnet-gridview-for-fixed.html

لقد واجهت أيضًا مشكلة مماثلة أثناء تطوير تطبيقات الويب في Asp.Net 2.0 / 3.5.

في أحد الأيام الجميلة، صادفتني IdeaSparks ASP.NET CoolControls.يساعد على عرض رؤوس الأعمدة الثابتة والتذييل والبيجر.

لقد استخدمتها شخصيًا وأحببتها حقًا!

للتحقق من التحكم اضغط هنا:IdeaSparks ASP.NET CoolControls

أتمنى أن يساعدك هذا!

وأعتقد أن لدينا حل لهذا. يرجى الرجوع إلى أدناه شفرة جافا سكريبت

<script type="text/javascript" language="javascript">
    var orgTop = 0;
    $(document).scroll(function () {
        var id = $("tr:.header").get(0);
        var offset = $(id).offset();
        var elPosition = $(id).position();
        var elWidth = $(id).width();
        var elHeight = $(id).height();
        if (orgTop == 0) {
            orgTop = elPosition.top;
        }
        if ($(window).scrollTop() <= orgTop) {
            id.style.position = 'relative';
            id.style.top = 'auto';
            id.style.width = 'auto';
            id.style.height = 'auto';
        }
        else {
            id.style.position = 'absolute';
            id.style.top = $(window).scrollTop() + 'px';
            id.style.width = elWidth + 'px';
            id.style.height = elHeight + 'px';

        }
    });
</script>

وحيث .header هي الطبقة المغلق من رأس الشبكة الخاص بك.

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

وتعطي هذه المحاولة يجب حل المشكلة http://www.codeproject.com/KB/webforms/FreezePaneDatagrid.aspx

يمكنك محاولة نموذج التالي

تجميد GridView أعمدة

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