gridview sorting based on a specific column values

1k views Asked by At

I have a gridview with following columns.

enter image description here

I want to sort gridview based on status. Red status should come first (up) then green status.

Please suggest how can I do?

This is my code :

Using (OracleCommand cmd = new OracleCommand("SELECT Instance,ServerName,IPFQDN,Status from server_interspc")) 
{ 
    using (OracleDataAdapter sda = new OracleDataAdapter())
    {
        cmd.Connection = con;
        sda.SelectCommand = cmd;
        using (DataTable dt = new DataTable()) 
        {
            sda.Fill(dt); 
            GridView1.DataSource = dt;
            GridView1.DataBind();
        } 
    } 
}
2

There are 2 answers

0
Beldi Anouar On

I suggest to change you code to :

   sda.Fill(dt);   
   DataView dv = dt.DefaultView;
   //Sorting datatable as you like before set it as datasource of your gridView
   dv.Sort = "Status desc";  // Or      dv.Sort = "Status asc";
   DataTable sortedDT = dv.ToTable();
   GridView1.DataSource = sortedDT;
0
Hardik Mer On

Just change your query to

SELECT Instance,ServerName,IPFQDN,Status from server_interspc GROUP BY Status ORDER BY Status desc