c# - Cannot figure how to get header data out of GroupBy loop in View -
i'm lost on correct syntax getting specific model item display inside foreach grouping loop. feeding ienumerable model controller.. sub loop , outer loop work perfectly, cannot value inner header , define top of each inside loops values
view code:
@model ienumerable<emanager.web2.models.eventclasscomplistvm> <table class="table"> <h2> @(model.any() ? model.first().eventname : "") @(model.any() ? model.first().eventdate.toshortdatestring() : "") </h2> @foreach (var group in model.groupby(item => item.classname)) { <tr> <td> @html.displaynamefor(model => model.classname) @html.displayfor(model => model.classname) //generates unknown exception </td> </tr> foreach (var item in group) { <tr> <td> @html.displayfor(modelitem => item.comp_eventid) </td> <td> @html.displayfor(modelitem => item.compname) viewmodel //made of 4 models of specific elements
namespace emanager.web2.models { public class eventclasscomplistvm { public eventclasscomplistvm() { this.classname = classname; this.compname = compname; } public int ecclkey { get; set; } public int compeditorid { get; set; } public int comp_eventid { get; set; } public datetime eventdate { get; set; } public int eventid { get; set; } public int classid { get; set; } public string compname { get; set; } public string eventname { get; set; } public string compmetricname { get; set; } public double compmetric { get; set; } public int maxcomp { get; set; } public string classname { get; set; } public int classorder { get; set; } public int eventclassid { get; set; } public bool iscrossover { get; set; } public int event_class_compeditorsid {get; set; } } } controller
public actionresult buildeventclassreports() { var model = (from o in _db.events join o2 in _db.event_classes on o.eventid equals o2.eventid o.eventid.equals(o2.eventid) join o3 in _db.event_class_compeditors_s on o2.eventclassid equals o3.eventclassid o2.eventclassid.equals(o3.eventclassid) join o4 in _db.compeditors on o3.compeditorid equals o4.compeditorid o3.compeditorid.equals(o4.compeditorid) join o5 in _db.class_definitions on o2.classid equals o5.class_definition_id o2.classid.equals(o5.class_definition_id) o.currentevent.equals(true) orderby o2.classorder //orderby o3.comp_eventid select new eventclasscomplistvm { classid = o2.classid, eventname = o.eventname, eventdate = o.date_end, classname = o5.class_name, comp_eventid = o3.comp_eventid, classorder = o2.classorder, compname = (o4.firstname + " " + o4.lastname), iscrossover = o3.iscrossover }).tolist(); return view(model); }
@html.displayfor(g => group.key)
worked great 1 item in data heading grouped elements
Comments
Post a Comment