bonjour,

j'ai créé une gridView alimenté par un SqlDataSource!
au début je l'avais fait à l'aide des balises ASP, mais vu que j'ai intégré a mon projet un module de recherche, j'ai du passer à l'alimentation de la GV en code Behind, de ce fait, le tri et la pagination ne fonctionne plus!

J'ai trouvé sur internet/forum que lorsqu'on faisait le mappage des données en code behind, il fallait redevelopper les méthodes de tri et de pagination (soit).

j'essaie d'utiliser ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
 private SortDirection GridViewSortDirection
    {
        get
        {
            if (ViewState["sortDirection"] == null)
                ViewState["sortDirection"] = SortDirection.Descending;
            return (SortDirection)ViewState["sortDirection"];
        }
        set { ViewState["sortDirection"] = value; }
    }

protected void GridView1_Sorting(object sender, System.Web.UI.WebControls.GridViewSortEventArgs e)
    {
        String sens;
        if (GridViewSortDirection == SortDirection.Descending)
        {
            GridViewSortDirection = SortDirection.Ascending;
            sens = "desc";
        }
        else
        {
            GridViewSortDirection = SortDirection.Descending;
            sens = "asc";
        }
 
 
        DataView dv = (DataView) GridView1.DataSource;
        dv.Sort = e.SortExpression + " " + sens;
        
        GridView1.DataSource = dv;
        GridView1.DataBind();
        
    }
en rouge c'est la ou ça coince
en effet, j'utilise un SqlDataSource pour la liaison avec la BDD, donc mon dv = null, et donc le tri ne fonctionne pas

une solution pour pouvoir trier avec mon SqlDataSource?

merki