Using version 2011.2 trying to bind to a property of a child object using the MVC helper...
...Columns(x => { x.For(y => y.Script.Name).Width("auto").HeaderText("Script Name");...})
Fails because the key is set to just "Name" which doesn't exist on y. I tried forcing the Key to "Script.Name", but that didn't help.
Do I have to make a flat view model?
Hi wpbrown,
What are you trying to acheive with y.Script.Name?
What is expected in tha lambda expression is the key correcponding to your model. So if that's your child layout and you have set correclty Primary Key and Foreign Key properties, this ScriptName property should be part of your model.
Can you send us your sample, to provide you more correct information which will help you?
Thanks,
I have JSON data like so returned....
{ "Metadata" : { "timezoneOffset" : -18000000 }, "Records" : [ { "Agent" : null, "AgentId" : 3, "Completed" : "/Date(1336599104000)/", "DurationSec" : 17, "Id" : 146, "Script" : { "Id" : 4, "Name" : "Test Script 1", "Profile" : null, "Transactions" : null }, "ScriptId" : 4, "Status" : 1 }, ... more records...
In terms of the model described by Georgi above, in the view I have...
@(Html.Infragistics().Grid<MyClass>().ID("runsGrid") .Columns(x => { x.For(y => y.Completed).Width("15%").HeaderText("Date").Format("yyyy-MM-dd HH:mm"); x.For(y => y.Status).Width("8%").HeaderText("Status"); x.For(y => y.Script.Name).Width("auto").HeaderText("Script Name"); }) .DataSourceUrl(Url.Action("RunData", new { id = Model.Agent.Id })) .DataBind().Render())
I get an error that Name is not found.