Hvordan man kan sortere kolonner i DataGrid

DataGrids kan præsentere information på en let forståelig form. bord og blyant billede ved Daraban Oana Gabriela fra Fotolia.com

DataGrids er .NET kontroller, der giver brugerne mulighed for at vise data i en tabel-lignende måde, men med meget mere funktionalitet og muligheder.DataGrids kan understøtte opgaver som at indsætte, redigere og slette data.De kan også søges, hvilket betyder, at du kan vise mindre mængder af data på skærmen ad gangen, og brugerne kan bladre gennem dem.Sortering i faldende rækkefølge er en anden funktion af DataGrids dog uden brugerdefinerede kodning, kan de ikke sorteres i stigende rækkefølge.En sorterbar DataGrid har link knapper til kolonneoverskrifter og vil opdatere nettet, når brugeren klikker på dem.

Aktiver Standard Sortering

  1. Højreklik på din DataGrid i design visning.

  2. Vælg \ "Property Builder \" fra pop-op-menuen.

  3. Mark afkrydsningsfeltet for "Tillad sortering \" under \ "Behavior \" i \ "General \" fanen \.

  4. Klik på \ "Kolonner \" fanen i menuen til venstre.

  5. Sørg for, at hver kolo

    nne er sorterbar ved at klikke på dens navn i \ "Valgte kolonner \" listen og derefter vælge en værdi i \ "Sort Expression \" drop-down listen.

  6. Klik på \ "OK \" knappen for at gemme dine ændringer.

Brugerdefineret Tovejs Sortering

  1. Udfør alle trin til aktivering standard sortering.

  2. Tryk på F7 for at skifte til \ "Code Editor \" visning.

  3. Vælg dit DataGrid fra drop-down listen af ​​kontrollen øverst til venstre i vinduet, og vælg derefter \ "Sort Command \" begivenhed fra drop-down listen over begivenheder øverst til højre.Dette vil skabe en event handler for dig at tilsidesætte standard sortering.

  4. Tilføj kode til din sortere hændelseshandler at fastsætte en passende sorteringsrækkefølgen og kolonnen for at sortere efter.Kopier koden herunder ind på din kode fil.

    'VB.NET Eksempel
    Sub myGrid_Sort (afsender Som Object, e Som DataGridSortCommandEventArgs) Håndtag myGrid.SortCommand

    Hvis e.SortExpression.ToString () = Session (\ & amp; quot; SortBy \ & amp; quot;) Så
    HvisSession (\ & amp; quot; SortOrder \ & amp; quot;) = \ & amp; quot; ASC \ & amp; quot;Så
    Session (\ & amp; quot; SortOrder \ & amp; quot;) = \ & amp; quot; DESC \ & amp; quot;
    Else
    Session (\ & amp; quot; SortOrder \ & amp; quot;) = \ & amp; quot; ASC \ & amp; quot;
    End If
    Else
    Session (\ & amp; quot; SortBy \ & amp; quot;) = e.SortExpression.ToString ()
    Session (\ & amp; quot; SortOrder \ & amp; quot;) = \ & amp; quot; ASC\ & amp; quot;
    End If

    'KODE FOR DATA BINDENDE GOES HERE

    End Sub

    // C # eksempel
    ugyldig myGrid_Sort (Object sender, DataGridSortCommandEventArgs e)
    {

    hvis (e.SortExpression.ToString () == Session [\ & amp;quot; SortBy \ & amp; quot;])
    {
    if (Session [\ & amp; quot; SortOrder \ & amp; quot;] == \ & amp; quot; ASC \ & amp; quot;)
    Session [\ & amp; quot; SortOrder \ & amp; quot;] = \ & amp; quot; DESC \ & amp; quot;

    GO

    ellers
    Session [\ & amp; quot; SortOrder \ & amp; quot;] = \ & amp; quot; ASC \ & amp; quot;

    GO

    }
    ellers
    {
    Session [\ & amp; quot; SortBy \ & amp; quot;] = e.SortExpression.ToString ()

    GO

    Session [\ & amp; quot; SortOrder \ & amp; quot;] = \& amp; quot; ASC \ & amp; quot;

    GO

    }

    // KODE FOR DATA BINDENDE GOES HERE

    }

  5. Tilføj kode til din sortere hændelseshandler at oprette ny binding DataGrid med den rette sortering.Kombiner koden nedenfor med hændelseshandler allerede i din kode fil.

    'VB.NET Eksempel
    Sub myGrid_Sort (afsender Som Object, e Som DataGridSortCommandEventArgs) Håndtag myGrid.SortCommand

    ' KODE FOR SORT ORDER GOES HERE

    Dim myDataView som ny DataView (myDataSource.Tables (\ & amp; quot; myTable \ & amp; quot;))
    myDataView.Sort = Session (\ & amp; quot; SortBy \ & amp; quot;) & amp; amp;\ & amp; quot;\ & amp; quot;& amp; amp;Session (\ & amp; quot; SortOrder \ & amp; quot;)
    myGrid.Datasource = myDataView
    myGrid.DataBind ()

    End Sub

    // C # eksempel
    ugyldig myGrid_Sort (Object sender, DataGridSortCommandEventArgs e)
    {

    // CODE TIL SORT ORDER GOES HERE

    DataView myDataView = ny DataView (myDataSource.Tables [\ & amp; quot; myTable \ & amp; quot;])

    GO

    myDataView.Sort = Session [\ & amp; quot; SortBy \ & amp;quot;] & amp; amp;\ & amp; quot;\ & amp; quot;& amp; amp;Session [\ & amp; quot; SortOrder \ & amp; quot;]

    GO

    myGrid.Datasource = myDataView

    GO

    myGrid.DataBind ()

    GO
    }

Tips & amp;Advarsler

  • Et alternativ til at redigere dit DataGrid i design for at opnå standard sortering er at redigere det i kilde visning og tilføje \ "Tillad Sortering \" ejendom til din DataGrid tag definition og sæt den til \ "Sandt.\ "
  • Den DataView objekt kan også bruges til at filtrere indholdet af DataGrid med RowFilter ejendom.
  • DataGrid er blevet erstattet af den GridView i versioner af .NET efter 2.0.Den GridView kontrol er meget ens, men omfatter mere funktionalitet.
578
0
3
Computer Programmeringssprog