GridView sorting in C#
Ed eccoci all'ultima parte dei tre articoli dedicati alla GV da code-behind (qui i primi due articoli: primo, secondo).
Qua vi parlo dell'implementazione del meccanismo di sorting.
Se si vuole usare il code-behind per la GV non basta attivare il sorting, ma bisogna scrivere il metodo a mano.
Prima di tutto dobbiamo fare alcune modifiche alla GV che adesso richiede due parametri:
protected void decoderViewSource(string sortExpr, string sortDir)
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MYDB"].ConnectionString);
String queryString = "SELECT * FROM siti";
try
{
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(queryString, conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
DataView dv = new DataView();
dv = ds.Tables[0].DefaultView;
if (sortExpr != string.Empty)
{
dv.Sort = string.Format("{0} {1}", sortExpr, sortDir);
}
DecoderView.DataSource = dv;
DecoderView.AutoGenerateColumns = false;
DecoderView.AutoGenerateSelectButton = true;
DecoderView.AllowSorting = true;
DecoderView.AllowPaging = true;
DecoderView.CssClass = "grid";
DecoderView.PageSize = int.Parse(ddlPagine.SelectedValue);
DecoderView.PagerSettings.Visible = false;
DecoderView.DataBind();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
conn.Close();
}
}
L'unica differenza sta nei due parametri string.