2016-05-12 18 views
0

Ich habe eine Gridview mit folgenden Spalten.Gridview Sortierung basierend auf einer bestimmten Spalte Werte

enter image description here

Ich möchte gridview sortieren basierend auf Status. Roter Status sollte zuerst (oben) und dann grüner Status kommen.

Bitte schlagen Sie vor, wie kann ich tun?

Dies ist mein 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(); 
     } 
    } 
} 
+0

Können Sie den Code von Affektiertheit zeigen von Datenquelle zu Ihrem GridView? –

+0

Verwendung (OracleCommand cmd = new OracleCommand ("SELECT instance Servername, IPFQDN, Status von server_interspc")) { Verwendung (OracleDataAdapter SDA = new OracleDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; Verwendung (DataTable dt = neue DataTable()) { sda.Fill (dt); GridView1.DataSource = dt; GridView1.DataBind(); } } } – SJD

+0

Ist Status eine tatsächliche Zeichenfolge "Rot" oder "Grün"? Wenn das so ist, ist das eine schlechte Angewohnheit. Duplizieren Sie keine Bedeutung. A "Statuscode" ist nicht identisch mit "Statusbeschreibung". Ein Statuscode ist nach einer bestimmten Prioritätsstufe sortierbar. Das Sortieren von Strings als Statuscode oder das Verwenden von Strings, die zufällig in der richtigen Prioritätsreihenfolge sortiert werden, ist eine schlechte Form. – fnostro

Antwort

0

Ich schlage vor, Sie Code zu ändern:

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

Sie Ihre Suche zu starten

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