2016-11-17 6 views
0

Hallo Ich habe eine Liste und es ist als Datenquelle für eine Rasteransicht festgelegt. Meine Rasteransicht sieht so aus.Pivoting Rasteransicht in C#

 Green| Gold | Grade 
     ----|---- | ------- 
     2 | 1 | 100 
     3 | 1 | 101 
     - | 3 | 102 
     3 | - | 104 
     - | - | 105 
     8 | 5 | Total 

Aber ich will wie diese

Grade |100 |101 |102 |103 |104 |105 |Total 
--------- |---- |----|----|----|----|----|----- 
    Green |2 |3 |- |3 |8 |- |8 
    Gold |1 |1 |3 |- |3 |- |5 

Diese My List-Klasse ist

public class Value 
{ 
    public string Gold { get; set; } 
    public string Grade { get; set; } 
    public string Green { get; set; } 
} 

public class GetCACPopGuideResult 
{ 
    public object Type { get; set; } 
    public List<Value> Value { get; set; } 
} 

Dies ist, was ich in den Code getan haben

GetCACPopGuideResult result = getvalue();// Get the values to display 
GridView1.DataSource= result.Value; 

Public GetCACPopGuideResult getvalue() 
{ 
     string URL= myURL; 
     var cli = new RestClient(URL); 
     IRestRequest auctionRequest = new RestRequest(Method.GET); 
     IRestResponse responseCustomer = cli.Execute(auctionRequest); 
     return responseCustomer.Content; 
} 

Gibt es eine Wie kann ich das in C# machen? Bitte hilf mir.

Vielen Dank im Voraus

+0

Sind Sie Daten von DB zu bekommen? Stellen Sie dann SQL sonst provode getvalue() bereit. – Imad

+0

Danke für deine Wiederholung, ich habe die Gitter modifiziert. –

+0

Es ist nicht von der Datenbank. Es ist von einem Web-Service. Es ruft nur einen Webservice auf und lädt die Daten, das ist alles. Ich habe Code für diese getdata hinzugefügt. Bitte schauen Sie das. –

Antwort

0

Sie können keine dynamischen Objekte in LINQ erstellen.

Was Sie tun sollten ist, um die Daten, die Sie wie in diesem Beispiel in einem Wörterbuch erhalten konvertieren:

var dictionary = value 
    .GroupBy(v => v.Grade) 
    .ToDictionary(g => g.Key, 
     g => new 
      { 
       g.Select(x => x.Gold).FirstOrDefault(), 
       g.Select(x => x.Green).FirstOrDefault() 
      }); 
Verwandte Themen