0

Ich verwende reaktionsfähige DataTable-Klassen in meinem GridView.Sortierung auf EditItemTemplate in GridView deaktivieren

<asp:GridView ID="myGrid" runat="server" EnableViewState="False" 
     CssClass="table table-striped table-bordered table-hover"> 
    <Columns> 
    <asp:CommandField ShowEditButton="true" CausesValidation="true" /> 

das Skripts unter Verwendung von:

<script> 
    $(document).ready(function() { 
     $("#<%= myGrid.ClientID %>").DataTable({ 
      responsive: true, 
      "columnDefs": [{ "orderable": false, "targets": ['_all'] }], 
     }); 
    }); 
</script> 

Dieses Skript deaktiviert auf allen Spalten sortieren Option außer meiner ersten Spalte, die Schaltfläche Bearbeiten hat, die mit ShowEditButton="true" von Gridview aktiviert ist.

Ich kann gerenderten HTML in der Seite sehen, die erste Spalte hat noch class="sorting_asc", während alle anderen Spalten class="sorting_disabled" haben. Wie deaktiviere ich die Sortierung für die von GridView hinzugefügte Spalte für Bearbeiten/Aktualisieren/Abbrechen?

Antwort

0

müssen Sie "targets": ['_all'] zu "targets": '_all'

ändern „Wie kann ich auf die Spalte von Gridview hinzugefügt für Bearbeiten/Aktualisieren/Abbrechen deaktivieren Sortierung?“

, wenn Sie jede Spalte separat konfigurieren möchten, unten aussehen ..

"columnDefs" ist, dass columndefinitions Objekt-Array. Sie müssen diese { "orderable": false, "targets": ['_all'] } für jede Spalte definieren.

können Sie new {"orderable": false ...} Objektarray auf Server-Seite von gridview edit-Update-Modus vorbereiten .. und Ihr Skript injizieren ..

<script> 
$(document).ready(function() { 
    $("#<%= myGrid.ClientID %>").DataTable({ 
     responsive: true, 
     "columnDefs": <%= ColumnDefinitions %>, 
    }); 
}); 

für Server-Seite ..

public string ColumnDefinitions; 
    protected override void OnPreRender(EventArgs e) 
    { 
     List<object> columns = new List<object>(); 
     for (int i = 0; i < myGrid.Columns.Count; i++) 
      columns.Add(new { orderable = !(myGrid.Columns[i] is CommandField) }); 

     ColumnDefinitions = Newtonsoft.Json.JsonConvert.SerializeObject(columns); 
     base.OnPreRender(e); 
    } 
+0

I versuchte '{" orderable ": false," targets ": ['_all']}' bereits und es deaktiviert die Sortierung überhaupt nicht. Die Pfeile in jeder Spalte vorhanden trotz dieser – techspider

+0

Ich aktualisierte den Beitrag – levent

+0

Ich versuche nicht, jede Spalte separat zu steuern, ich möchte die Sortierung für alle Spalten deaktivieren. Es deaktiviert mit meinem Skript für alle Spalten mit Ausnahme der mit CommandField hinzugefügt. – techspider

Verwandte Themen