سؤال

في وثائقهم يقول Telerik أن هناك طريقة لتعطيل الفرز للحصول على عمود محدد باستخدام خاصية التسميح. أنا أنظر إلى telerik.web.wi.gridcolumn الأعضاء وليس هناك خاصية تسمح. هناك عقار قابل للنزاه ولكن محمي ويجب أن يتغلب على ذلك. إذن ما الذي أستخدمه لإيقاف الفرز عمود محدد؟

هناك خاصية سمح على Gridboundcolumn ولكن في هذه الحالة، أستخدم Gridtemplatecolumn. هل هناك طريقة لإيقاف الفرز على Gridtemplatecolumn؟

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

المحلول 2

حسنا، حصلت على التأثير المرغوب فيه، قمت بإيقاف تشغيل الفرز عن طريق تحديد خاصية فرز الفرز GridtemplateColumn إلى فارغة.

Grid.Columns.FindByUniqueName("Type").SortExpression = string.Empty;

هذا يشبه الاختراق. لماذا لا توجد خاصية صريحة لإيقاف الفرز؟ اوه حسنا. هذا يعمل.

إذا كنت تعرف طريقة أفضل، اسمحوا لي أن أعرف.

شكرا.

نصائح أخرى

تتوفر سمة Contorting من عرض المصدر / العلامات في Visual Studio. على سبيل المثال (مبسط):

    <tr:RadGrid>
    <MasterTableView>
        <Columns>
            <tr:GridBoundColumn DataField="field" HeaderText="Description" 
                 AllowSorting="false" />
        </Columns>
    </MasterTableView>
    </tr:RadGrid>

لا أعرف ما إذا كان هذا يعمل من أجلك؟ لم أقم بتنسيق شبكاتي من الملفات الرمزية بعد، لذلك إذا كان هذا ما تفعله، لا يمكنني مساعدتك بسهولة. لكن ما سبق يعمل بالنسبة لي.


تعديل:

آه لم يكن واضحا من السؤال الأصلي، أنك كنت تستخدم عمود Gridtemplate. كما يمكنك الآن استخدام خاصية SortExpression، لا تستخدم السمات نفسها في عمل العلامات لك؟ وبالتالي:

    <tr:RadGrid>
    <MasterTableView>
        <Columns>
            <tr:GridTemplateColumn HeaderText="Description" DataField="field" 
                SortExpression="">
                <!-- template here etc. -->
            </tr:GridTemplateColumn>
        </Columns>
    </MasterTableView>
    </tr:RadGrid>

يحتوي Telerik الآن على خاصية جديدة تسمى HeaderButtonType (موجود على عمود القالب أيضا!) والتي يمكن ضبطها على "لا شيء" لتقديم تسمية بدلا من LinkButton لنص رأس العمود.

إليك مثال يوضح كيفية تعطيل الفرز للحصول على عمود محدد.

لاحظ خاصية المسموح بها على مستوى الشبكة (لجميع الأعمدة).

ثم، في مجموعة الأعمدة، لاحظ كيفية إيقاف تشغيله لهذا العمود المحدد.

<telerik:RadGrid ID="RadGrid1" runat="server" AllowSorting="True">
    <HeaderContextMenu>
        <CollapseAnimation Duration="200" Type="OutQuint" />
    </HeaderContextMenu>
    <MasterTableView>
        <RowIndicatorColumn>
            <HeaderStyle Width="20px" />
        </RowIndicatorColumn>
        <ExpandCollapseColumn>
            <HeaderStyle Width="20px" />
        </ExpandCollapseColumn>
        <Columns>
            <telerik:GridBoundColumn AllowSorting="False" UniqueName="column">
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
    <FilterMenu>
        <CollapseAnimation Duration="200" Type="OutQuint" />
    </FilterMenu>
</telerik:RadGrid>

بالنسبة إلى TemplateColumns، سأحاول إيقاف الفرز على مستوى الشبكة وببساطة تمكينه على الأعمدة المطلوبة. بهذه الطريقة، لن تضطر إلى القيام بأي شيء من أجل TemplateColumn لأنه سيتم تعطيله بشكل افتراضي.

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

كما هو مذكور في مستندات telerik.:

في حال كنت ترغب في تعطيل الفرز عمود معين فقط، يمكنك تكوين خاصية Gashtable العمود إلى False:

<telerik:GridViewColumn IsSortable="False" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top