2009-05-11 4 views
0

Ich arbeite an einem traditionellen WebForms-Projekt. In dem Projekt probiere ich einige Linq-Datenquellen mit Plänen aus, um schließlich zu einer MVC-Architektur zu migrieren. Ich bin immer noch sehr neu in Linq.Einige Aggregatfunktionen in einer Linq-Datenquelle in einer GridView übernehmen

Ich habe eine GridView mit einer Linq-Datenquelle. Die Entitäten, die ich zeige, haben eine zu viele Beziehung und ich möchte den maximalen Wert einer Spalte auf der vielen Seite der Beziehung erhalten.

I Eigenschaften der Basiseinheit in der Gridview zeigen:

<asp:TemplateField HeaderText="Number" SortExpression="tJobBase.tJob.JobNumber"> 
    <ItemTemplate> 
    <asp:Label ID="Label1" runat="server" Text='<%# Bind("tJobBase.tJob.JobNumber") %>'> 
    </asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 

ich auch die Zählung der viele ähnliche Eigenschaft zeigen:

<asp:TemplateField HeaderText="Number" SortExpression="tJobBase.tJob.tHourlies.Count"> 
    <ItemTemplate> 
    <asp:Label ID="Label1" runat="server" Text='<%# Bind("tJobBase.tJob.tHourlies.Count") %>'> 
    </asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 

Gibt es eine Möglichkeit, die max zu erhalten Wert einer Spalte namens WeekEnding in der Sammlung tHourlies, die in der GridView angezeigt wird?

Antwort

0

Versuchen:

Bind("tJobBase.tJob.tHourlies.Max(w => WeekEnding)") 

aber ich denke, es wäre besser, eine spezifische Abfrage wich kehrt in einem Feld, um den maximalen Wert, den Sie möchten, und binden diese Abfrage an Ihre gridview. Dann könnten Sie dieses Feld wie gewohnt Zugriff mit so etwas wie

Bind("MaxWeekEnding") 
+0

ich das versucht, mit vor und ich erhalte die Fehlermeldung, dass „Ein Aufruf zu binden, wurde nicht gut formatiert.“ Ich habe mit solchen Anrufen in Code experimentiert und es funktioniert gut. Ist dies bei Bind-Anrufen nicht verfügbar? –

+0

Haben Sie Eval anstelle von Bind versucht? – eKek0

Verwandte Themen