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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| private SortDirection GridViewSortDirection
{
get
{
if (ViewState["sortDirection"] == null)
ViewState["sortDirection"] = SortDirection.Ascending;
return (SortDirection)ViewState["sortDirection"];
}
set { ViewState["sortDirection"] = value; }
}
private void SortGridView(string sortExpression, string direction)
{
List<userStat> userStatList = (List<userStat>)ViewState["userStatList"];
DataTable dt = new DataTable();
dt.Columns.Add("UserName");
dt.Columns.Add("nom");
dt.Columns.Add("moisDist");
dt.Columns.Add("moisTemps");
dt.Columns.Add("semDist");
dt.Columns.Add("semTemps");
dt.Columns.Add("veilleDist");
dt.Columns.Add("veilleTemps");
dt.Columns.Add("jourDist");
dt.Columns.Add("jourTemps");
foreach (userStat uS in userStatList)
{
DataRow dr = dt.NewRow();
dr["UserName"] = uS.UserName;
dr["nom"] = uS.nom;
dr["moisDist"] = uS.moisDist;
dr["moisTemps"] = uS.moisTemps;
dr["semDist"] = uS.semDist;
dr["semTemps"] = uS.semTemps;
dr["veilleDist"] = uS.veilleDist;
dr["veilleTemps"] = uS.veilleTemps;
dr["jourDist"] = uS.jourDist;
dr["jourTemps"] = uS.jourTemps;
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
dv.Sort = sortExpression + direction;
GridView1.DataSource = dv;
GridView1.DataBind();
PanelConnexion.Visible = false;
Panel1.Visible = true;
}
private const string ASCENDING = " ASC";
private const string DESCENDING = " DESC";
//EVENEMENT SORTING
protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;
ViewState["SortExpression"] = sortExpression;
if (GridViewSortDirection == SortDirection.Ascending)
{
GridViewSortDirection = SortDirection.Descending;
SortGridView(sortExpression, DESCENDING);
}
else
{
GridViewSortDirection = SortDirection.Ascending;
SortGridView(sortExpression, ASCENDING);
}
} |