以下是问题的描述,我先从数据说起.数据存储在一个叫pages的自定义列表中,该列表除默认的栏外,另增加了一栏"Abstract",为多行文本,用于存储文章摘要信息.当该列表中录入数据后如图:
这时,当我们点列表项如"page2"时,会进入该项的 DispForm.aspx页面.如图: 这个页面不符合客户对页面整体风格和布局的要求.最终客户要的这个显示数据的页面效果如下: 因此我们需要对这个页面进行修改.在SharePoint Desinger中,我们做了如下操作: 1.选中原先的ListFormWebPart,并将其所在 WebPartZone的Visible="false",将其藏起来. 2.然后在上方增加一行,插入一个自定义列表表单(插入->SharePoint控件->自定义列表表单),如图: 3.插入后,页面变为: 4.我们可以修改这个DataFormWebPart,或着这个表格,使其符合界面展示的要求. 对于Title和Abstract部分,我们是可以灵活定制的.如图: 但是,当做到创建者和创建时间时,我们发现在这里Created, Created By,Modified,Modified By四个内容是合在一个叫CreatedModifiedInfo的控件中的.无法单独拿出一个来做展示.注意到当前数据源中也没有这些字段来供我们拖放.如图: 我们该如何做,才能让创建时间或创建者按客户预想的效果展示? 解决办法要从这里寻找: D:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx 打开该文件,查找关键词“CreatedModifiedInfo”,找到如下的内容: < SharePoint:RenderingTemplate ID ="CreatedModifiedInfo" runat ="server" > < Template > < table cellpadding =0 cellspacing =0 > < tr >< td nowrap class ="ms-descriptiontext" ID =onetidinfoblock1 > < SharePoint:FormattedString FormatText ="<%$Resources:wss,form_createdby%>" runat ="server" > < SharePoint:FormField ControlMode ="Display" FieldName ="Created" DisableInputFieldLabel ="true" runat ="server" /> < SharePoint:FormField ControlMode ="Display" FieldName ="Author" DisableInputFieldLabel ="true" runat ="server" /> < SharePoint:CreationType runat ="server" /> </ SharePoint:FormattedString > </ td ></ tr > < tr >< td nowrap class ="ms-descriptiontext" ID =onetidinfoblock2 > < SharePoint:FormattedString FormatText ="<%$Resources:wss,form_modifiedby%>" runat ="server" > < SharePoint:FormField ControlMode ="Display" FieldName ="Modified" DisableInputFieldLabel ="true" runat ="server" /> < SharePoint:FormField ControlMode ="Display" FieldName ="Editor" DisableInputFieldLabel ="true" runat ="server" /> </ SharePoint:FormattedString > </ td ></ tr > </ table > </ Template > </ SharePoint:RenderingTemplate > 看到这里,我想大家已经知道该怎么办了。 在SharePoint Desinger中,重新定义该控件的模板。 比如,像这样: < SharePoint:CreatedModifiedInfo ControlMode ="Display" runat ="server" > < CustomTemplate > < table cellpadding ="0" cellspacing ="0" border ="0" > < tr > < td > 创建时间: </ td > < td >< SharePoint:FieldValue FieldName ="Created" runat ="server" ControlMode ="Display" DisableInputFieldLabel ="true" /></ td > </ tr > </ table > </ CustomTemplate > </ SharePoint:CreatedModifiedInfo > 最终效果如下 FieldValue这个控件真是好用啊。其他几个,都可以这么来显示。只要修改FieldName即可。转载于:https://www.cnblogs.com/Sunmoonfire/archive/2007/05/22/755968.html
相关资源:数据结构—成绩单生成器