2017-06-20 4 views
0

Ich habe Datentabelle, die 'dtTopAll' ist und es hat Ereignis und wartet Spalten. Alles, was ich will, ist Summe Waits Spalte und Gruppe nach Ereignis.Erhalte einen Fehler, wenn ich summe

Allerdings unterhalb des Codes wirft einen Fehler wie 'Waits' Spalte gehört nicht zur Tabelle.

ultraGrid1.DataSource = dtTopAll; 
var dt1 = (from dr1 in dtTopAll.AsEnumerable() 
    group dr1 by dr1.Field<string>("Event") into g 
    select new 
    { 
     Event = g.Key, 
     Waits = g.Sum(z => z.Field<int>("Waits")) 
    }).ToDataTable(); 

ugWaitEvent.DataSource = dt1; 
+0

Wie bevölkern Sie dtTopAll? Es klingt so, als hätten Sie keine Spalte mit dem Namen "Wartet" - vielleicht geben Sie ihm einen Alias ​​oder bevölkern die Tabelle, ohne die Spalten zu benennen. –

+0

Geben Sie Ihren Datat-Code ein. Ihr gebuchter Code sieht gut aus – Rahul

Antwort

0

Bei Linq-Abfragen wird zwischen Groß- und Kleinschreibung unterschieden. Kannst du es auf diese Weise versuchen?

ultraGrid1.DataSource = dtTopAll; 
var dt1 = (from dr1 in dtTopAll.AsEnumerable() 
    group dr1 by dr1.Field<string>("Event") into g 
    select new 
    { 
     EVENT= g.Key, 
     WAITS= g.Sum(z => z.Field<int>("WAITS")) 
    }).ToDataTable(); 

ugWaitEvent.DataSource = dt1; 
Verwandte Themen