I'm upgrading an existing 2010 Custom Field Type to work with 2013. Where possible I'm attempting to re-use code from the 2010 version, to avoid duplicate work.
The main problem I'm coming across appears to be a couple of either misunderstandings or bugs with the List View rendering in 2013:
XSL
The existing XSL stylesheet (from 2010) appears to be entirely ignored (both header and Text_body modes). When I manually move it from the 14 folder to 15 it's processed (I know this because an error is thrown if it's invalid), but still not used.
I've attempted to use this with both CAMLRendering set to TRUE and FALSE.
CAML
When using CAMLRendering TRUE, the DisplayPattern for the body is used in most instances, but appears to be ignored when viewing anything after the first page.
I've confirmed this by viewing the inplview.aspx calls: On the first page the response array contains the CAML-output values as expected, but on the second they're empty strings.
General info
- The actual field's data is empty, as the values are generated b the CAML/XSL.
- The CFT is an actual working product on both 2007 and 2010, using CAML and XSL respectively.
- Using SPField.JSLink isn't currently an option, due to internal constraints.
Are there any workarounds to these problems? Are these known issues/bugs? I know this is really two questions, but they're closely bound to one another.
NB: This is a cross-post from MSDN: Problems with Custom Field Type list view rendering
I'd rather get the answer here, but I'm hoping one of the MS folks will offer something useful over there. If one is answered in one place I'll add it into the other too.
SPField.JSLink
method. I can only dream that maybe 2016 will break the chain and have backwards compatible CFT rendering support.