Hvordan sortere kolonner i Datagrid

Hvordan sortere kolonner i Datagrid


DataGrids er NET-kontroller som tillater brukere å vise data i en tabell-lignende måte, men med mye mer funksjonalitet og alternativer. DataGrids kan støtte oppgaver som å sette inn, redigere og slette data. De kan også være paginert, noe som betyr at du kan vise mindre mengder data på skjermen på en gang, og brukerne kan bla gjennom dem. Sortering i synkende rekkefølge er en annen funksjon i DataGrids, men uten egendefinert koding, kan de ikke bli sortert i stigende rekkefølge. En sorterbar Datagrid har knappene for kolonneoverskriftene og vil oppdatere nettet når brukeren klikker på dem.

Bruksanvisning

Aktiver Standard sortering

1 Høyreklikk på Datagrid i utformingsvisning.

2 Velg \ "Property Builder \" fra pop-up menyen.

3 Mark boksen for \ "Tillat sortering \" under \ "Behavior \" i \ "General \" -kategorien.

4 Klikk på \ "Kolonner \" -kategorien i menyen til venstre.

5 Sørg for at hver kolonne er sorterbar ved å klikke på navnet i \ "Selected Columns \" -liste, og deretter velge en verdi i \ "Sort Expression \" drop-down listen.

6 Klikk på \ "OK \" for å lagre endringene.

Custom toveis Sortering

7 Utfør alle trinnene for å aktivere standardsortering.

8 Trykk på F7 for å bytte til \ "Code Editor \" visning.

9 Velg Datagrid fra rullegardinlisten av kontroller øverst til venstre i vinduet, og velg deretter \ "Sort Command \" hendelse fra rullegardinlisten over hendelser øverst til høyre. Dette vil skape en hendelseshåndterer for deg å overstyre standardsortering.

10 Legg kode til din slags hendelseshåndterer å finne riktig sortering og kolonne for å sortere. Kopier koden under i kodefilen.

'VB.NET Eksempel
Sub myGrid_Sort (sender As Object, e As DataGridSortCommandEventArgs) Håndtak myGrid.SortCommand

If e.SortExpression.ToString() = Session(\"SortBy\") Then
If Session(\"SortOrder\") = \"ASC\" Then
Session(\"SortOrder\") = \"DESC\"
Else
Session(\"SortOrder\") = \"ASC\"
End If
Else
Session(\"SortBy\") = e.SortExpression.ToString()
Session(\"SortOrder\") = \"ASC\"
End If

'Kode for databinding GOES HER

End Sub

// C # Eksempel
void myGrid_Sort (Object sender, DataGridSortCommandEventArgs e)
{

if (e.SortExpression.ToString() == Session[\"SortBy\"])
{
if (Session[\"SortOrder\"] == \"ASC\")
Session[\"SortOrder\"] = \"DESC\"

else
Session[\"SortOrder\"] = \"ASC\"

}
else
{
Session[\"SortBy\"] = e.SortExpression.ToString()

Session[\"SortOrder\"] = \"ASC\"

}

// Kode for databinding GOES HER

}

11 Legg kode til din slags hendelseshåndterer å binde Datagrid med riktig sortering. Kombiner koden under med hendelsesbehandling allerede i koden din fil.

'VB.NET Eksempel
Sub myGrid_Sort (sender As Object, e As DataGridSortCommandEventArgs) Håndtak myGrid.SortCommand

' CODE FOR SORT ORDER GOES HERE

Dim myDataView som ny Dataview (myDataSource.Tables (\ & quot; MyTable \ & quot;))
myDataView.Sort = Session (\ & quot; SortBy \ & quot;) & amp; \ & Quot; \ & Quot; & Amp; Session (\ & quot; sortering \ & quot;)
myGrid.Datasource = myDataView
myGrid.DataBind ()

End Sub

// C # Eksempel
void myGrid_Sort (Object sender, DataGridSortCommandEventArgs e)
{

// CODE FOR SORT ORDER GOES HERE

Dataview myDataView = new Dataview (myDataSource.Tables [\ & quot; MyTable \ & quot;])

myDataView.Sort = Session[\"SortBy\"] & \" \" & Session[\"SortOrder\"]

myGrid.Datasource = myDataView

myGrid.DataBind()


}

Hint

  • Et alternativ til å redigere ditt Datagrid i utformingsvisning for å oppnå standard sortering er å redigere den i kilde visning og legge til \ "Tillat Sortering \" eiendom til Datagrid tagdefinisjoner og sett den til \ "Sann. \"
  • Den Dataview objekt kan også brukes til å filtrere innholdet i Datagrid med RowFilter eiendom.
  • Datagrid har blitt erstattet av Gridview i versjoner av .NET etter 2.0. The Gridview kontroll er svært like, men omfatter mer funksjonalitet.