Frage

ihre Dokumentation Telerik sagt, dass es eine Möglichkeit, deaktivieren für bestimmte Spaltensortierung von AllowSorting Eigenschaft. Ich freue mich auf Telerik .Web.UI.GridColumn Mitglieder und es gibt keine AllowSorting Eigenschaft. Es gibt eine sortierbare Eigenschaft aber seine geschützt ist und außer Kraft gesetzt werden. Also, was kann ich für bestimmte Spalte deaktivieren Sortierung?

Es gibt eine AllowSorting Eigenschaft auf GridBoundColumn aber in diesem Fall bin ich mit GridTemplateColumn. Gibt es eine Möglichkeit auf GridTemplateColumn auszuschalten Sortierung?

War es hilfreich?

Lösung 2

Okay, ich den gewünschten Effekt bekam, drehte ich mich, indem GridTemplateColumn der SortingExpression Eigenschaft auf leere Sortierung ab.

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

Das sieht wie ein Hack. Warum gibt es keine explizite Eigenschaft Sortierung zu deaktivieren? Naja. Das funktioniert.

Wenn Sie eine bessere Art und Weise kennen, lassen Sie es mich wissen.

Danke.

Andere Tipps

Das AllowSorting Attribut von der Quelle / Markup-Ansicht in Visual Studio zur Verfügung. Zum Beispiel (vereinfacht):

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

Ich weiß nicht, ob dies für Sie? Ich habe nicht meine Gitter vom instanziiert Code-Behind-Dateien noch, also wenn das, was du tust, ich kann nicht leicht Ihnen helfen. Aber die oben genannten Arbeiten für mich.


EDIT:

Ah war es von der ursprünglichen Frage nicht klar ist, dass Sie die GridTemplate Spalte verwendet haben. Wie Sie jetzt mit der SortExpression-Eigenschaft werden, indem nicht das gleiche Attribut in der Markup-Arbeit für Sie? Also:

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

Telerik hat jetzt eine neue Eigenschaft namens HeaderButtonType (auch auf einer Vorlage Spalte vorhanden ist!), Die eingestellt werden kann, „None“, um ein Etikett anstelle einen Linkbutton für die Spaltenüberschrift zu machen.

Hier ist ein Beispiel dafür, wie für eine bestimmte Spalte deaktivieren Sortierung.

Beachten Sie das AllowSorting Eigentum an der Netzebene (für alle Spalten).

Dann wird in der Columns-Sammlung, beachten Sie, wie es für die jeweilige Spalte ausgeschaltet wird.

<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>

Für Templatecolumns, würde ich versuchen, auf der Netzebene Sortierung ausschalten und einfach ermöglichen es auf den Säulen benötigt. Auf diese Weise werden Sie nichts für die Template zu tun haben, da es standardmäßig deaktiviert wird.

Sie können immer Ihre eigenen Header mit einem Etikett als Header anstelle einer Link-Button liefern, wenn Sie einen GridTemplateColumn verwenden. Ein wir bisschen mehr Arbeit, aber das funktioniert gut. Wenn Sie das Sortieren für alle Ihre GridTemplateColumns deaktivieren gehen dann „Hack“ wäre am besten.

Wie bereits erwähnt in der Telerik Docs :

Falls Sie für eine bestimmte Spalte Sortierung deaktivieren nur, können Sie Spalte IsSortable Eigenschaft auf False konfigurieren:

<telerik:GridViewColumn IsSortable="False" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top