In a Sharepoint 2010 doc library, we would like to allow users the convenience of being able to enter large amounts of doc-specific text via the document Info 'data entry' panel, but NOT show all that text in the doc lib view...just show a "view details" link , so that IF a user wants to read a particular document's doc-specific text, he can click on the link and have the text pop up. Is there a practical way to achieve this? (Advice greatly appreciated!)
1 Answer
You should go for a custom field which inherits from SPFieldText. Nothing special should be changed in control class or field class. just change the field definition xml. Check for the tag <RenderPattern Name="DisplayPattern">
element in field definition xml. There is this reference in msdn, but you can google for more. Also you can take a look at 14\TEMPLATE\XML\FLDTYPES.XML for SharePoint built-in fields to get some clue about field definition xml and more specifically, RenderPatterns.
You can create a simple html <a>
or even <button>
in display pattern to be shown in list views and configure it to run some ajax code to retrieve field value (Or even much simpler, you can use SharePoint Client object model to retrieve field value in javascript). I have done this before in SharePoint 2007 it is possible.