[C#] Datagrid Sort on page_load?

Pagina: 1
Acties:

  • B2
  • Registratie: April 2000
  • Laatst online: 21:10

B2

wa' seggie?

Topicstarter
Kan iemand mij vertellen hoe ik mijn datagrid sorteer op naam (de 1e column van het grid) op het moment dat ik mijn pagina laad? Ik heb wel de sortfunctie gebruikt, dus op het moment dat ik de header "Naam" klik sorteert hij wel (ASC en DESC). Het zou echter ideaal zijn als ik dit ook aan de praat krijg wanneer ik de pagina opnieuw laad.

Alvast bedankt! :)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
DataView ervan maken en sorting opgeven, die binden, klaar. (ik neem aan dat je een dataset/table bind :))

[ Voor 29% gewijzigd door EfBe op 15-04-2004 13:45 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Of gewoon je DataTable vullen met gegevens die al gesorteerd zijn; een ORDER BY clausule opnemen dus in je SQL query die de gegevens ophaalt.

https://fgheysels.github.io/


  • B2
  • Registratie: April 2000
  • Laatst online: 21:10

B2

wa' seggie?

Topicstarter
whoami: een ORDER BY in de SQL query toevoegen gaat niet werken, aangezien mijn sorting functies het dan niet meer doen op de datagrid.

EfBe: hoe maak ik er een DataView van? ik heb inderdaad een dataset die ik koppel aan mijn datagrid.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
supergrover schreef op 15 april 2004 @ 13:53:
whoami: een ORDER BY in de SQL query toevoegen gaat niet werken, aangezien mijn sorting functies het dan niet meer doen op de datagrid.
Hmmm, dat hangt er eigenlijk vanaf hoe je je applicatie opgezet hebt.
EfBe: hoe maak ik er een DataView van? ik heb inderdaad een dataset die ik koppel aan mijn datagrid.
Kijk ff in de .NET help, en zoek ff op dataview. Een datatable heeft zowiezo al een default-dataview die eigenlijk gebruikt wordt als je een datatable aan een datagrid bindt.

code:
1
DataView dv = new DataView (aDatatable);

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Hebben we het hier trouwens over web of winforms?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • B2
  • Registratie: April 2000
  • Laatst online: 21:10

B2

wa' seggie?

Topicstarter
webforms

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Dan doe je toch een call in je Page_load waarin je de juiste sortering aanvraagt, net zoals je ook zou doen in je handler van je sort event?

Dorodat je Page.IsPostback afvangt, gaat dit ook in verdere postbacks goed.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • B2
  • Registratie: April 2000
  • Laatst online: 21:10

B2

wa' seggie?

Topicstarter
Hier is mijn code voor datagrid sorting:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
        private void dataGridSort(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
        {
            DataView SortView = dataSet1.scholen.DefaultView; 
            string CurrentSort = ""; 
            if (ViewState["Sort"] != null) 
            { 
                CurrentSort = (string)ViewState["Sort"]; 
            } 
            if (CurrentSort.StartsWith(e.SortExpression)) 
            { 
                if (CurrentSort.EndsWith("DESC")) 
                { 
                    SortView.Sort = e.SortExpression; 
                }
                else
                {
                    SortView.Sort = e.SortExpression + " DESC";
                }
            }
            else 
            { 
                SortView.Sort = e.SortExpression; 
            } 
            ViewState["Sort"] = SortView.Sort;
            dataGrid.DataSource = SortView;
            dataGrid.DataBind();
        }


Mijn idee was ook om hier iets van in page_load te zetten, maar ik zou niet weten wat. Ik heb al wat zitten klooien met CurrenSort maar dat werkte niet. Wat moet ik precies in page_loud zetten?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Maak een aparte method aan, waarin je de boel sorteert en roep deze method aan in je sort en je load methods.

Dus:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Page_load(sender as object, e as EventArgs) handles Mybase.Load
    If Not Page.IsPostback

           Me.SortGrid("name")

    End if
End sub

private sub dataGridSort(source as object, e as System.Web.UI.WebControls.DataGridSortCommandEventArgs)

    Me.SortGrid(e.SortExpression)

End sub

Private Sub SortGrid(SortExpression as String)

    ' Hier je sorteer expressies

End sub

Een snel voorbeeldje..

[ Voor 8% gewijzigd door gorgi_19 op 15-04-2004 14:09 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • B2
  • Registratie: April 2000
  • Laatst online: 21:10

B2

wa' seggie?

Topicstarter
ik gebruik C#

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:50

gorgi_19

Kruimeltjes zijn weer op :9

Ik neem aan dat je het zelf kan omzetten naar C# :) Methodiek is exact hetzelfde.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1