In order to set custom ListFormWebPart parameters when defining list definition schema, you need to modify Form tag in schema.xml. Please refer to the following sample, used to add CSRRenderMode property to ListFormWebPart and set it to ServerRender:
<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" UseDefaultListFormWebPart="False"> <WebParts> <AllUsersWebPart WebPartZoneID="Main" WebPartOrder="1"> <![CDATA[ <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2"> <Assembly>Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly> <TypeName>Microsoft.SharePoint.WebPartPages.ListFormWebPart</TypeName> <PageType>PAGE_NEWFORM</PageType> <CSRRenderMode xmlns="http://schemas.microsoft.com/WebPart/v2/ListForm">ServerRender</CSRRenderMode> </WebPart>]]> </AllUsersWebPart> </WebParts> </Form>
You can change Microsoft.SharePoint assembly reference to 14.0.0.0 or 12.0.0.0 to use it with SharePoint 2010 or SharePoint 2007 respectfully.
Is there a way to Set this property for a List using Code. I can see the enum CSRRenderMode in Microsoft documentation but not sure how to use it.
ReplyDeleteThanks,
Sandy
CSRRenderMode property is not a List property, but ListFormWebPart property. In order to change it from code, you need to access ListFormWebPart web part (usually placed on the List form), and just change its properties.
DeleteWhat if I add the item to the list programatically using CSOM/JSOM etc. Also does it work for other event receivers like web adding etc.
DeleteIt would not work whenever you do not have HttpContext. But if you do, theoretically it should work. Never tried it like this though.
Deletewhen i add Your code ai have this error message:
ReplyDeleteSeverity Code Description Project File Line Suppression State
Warning The element 'Form' in namespace 'http://schemas.microsoft.com/sharepoint/' has invalid child element 'WebParts' in namespace 'http://schemas.microsoft.com/sharepoint/'. List of possible elements expected: 'ListFormOpening, ListFormBody, ListFormButtons, ListFormClosing' in namespace 'http://schemas.microsoft.com/sharepoint/'. POLKOMTEL_PowiadomieniaAD