In my MVC Helper, I'm assigning an object with 4 properties to the igCombo.DataSource, and referencing those properties by name in igCombo.ItemTemplate string, as the examples show.
However, it seems that the helper, during rendering, strips the datasource of all properties except the one's assigned to "TextKey" and "ValueKey", or, if neither is assigned, the first property in the datasource. Is this by-design? If so, how do I get around it?
The control renders perfectly if I pass the datasource as json and then initialize it client-side, but once again, it seems the behavior for the MVC Helper is different than the jQuery behaivior, and the only documentation I found uses a URL as the datasource:
http://samples.infragistics.com/jquery/combo-box/templating
I did not realize that my link points to a general url navigations within that url do not change address.Please do following:
1. Go to http://help.infragistics.com/NetAdvantage/jQuery/2012.1/CLR4.0?page=Configuring_igEditors_at_Runtime.html2. Click "igCombo" on left pane3. Click "igCombo ASP.NET MVC documentation" on right pane4. Click "igCombo ASP.NET MVC documentation" on right pane5. Click "ComboModel Members" on right pane6. Click "CompactData" on right pane
Hi Josh,
The CompactData is not related to igCombo, but to the way how Mvc helper generates javascript on server which is used by igCombo.
The sample with templating is not related to Mvc data neither. It configures igCombo to use netflix.
I think that Aaron in one of his replies provided a link to Mvc documentation. Particullarly properties/setters for Combo-helper (including CompactData) can be found at
http://help.infragistics.com/NetAdvantage/jQuery/2012.1/CLR4.0?page=Configuring_igEditors_at_Runtime.html
Thanks Viktor! What would be even better is if the control was smart enough to search the header, item, and footer templates to see what fields in the datasource are needed, and only pass them.
Also, is the "CompactData" property documented? I don't see it in the options here:
http://help.infragistics.com/jQuery/2012.1/ui.igcombo
Also, will the example you have listed (linked below) actually show all of the columns? I don't see the CompactData property set there.
Sorry, I mistyped last line. Correct:
comboModel.CompactData = false;
By default the helper for Mvc Combo passes to client only data related to ValueKey and TextKey (if it is defined). Without that optimization and large number of columns in original dataSource, the size of html passed to client might be dramatically increased and slow-down performance.
If application needs all original server data available on client, then it should enable that by using CompactData.
In case of helper without ComboModel:...ComboFor(...)....CompactData(false).Render()
In case of ComboModel:comboModel.CompactData = true;