关于DataFormWebPart中CreatedModifiedInfo信息的分开使用

以下是问题的描述,我先从数据说起.
数据存储在一个叫pages的自定义列表中,该列表除默认的栏外,另增加了一栏"Abstract",为多行文本,用于存储文章摘要信息.当该列表中录入数据后如图:

cinfo001.jpg
这时,当我们点列表项如"page2"时,会进入该项的 DispForm.aspx页面.如图:
cinfo002.jpg
这个页面不符合客户对页面整体风格和布局的要求.最终客户要的这个显示数据的页面效果如下:
cinfo003.jpg
因此我们需要对这个页面进行修改.在SharePoint Desinger中,我们做了如下操作:

1.选中原先的ListFormWebPart,并将其所在 WebPartZone的Visible="false",将其藏起来.

2.然后在上方增加一行,插入一个自定义列表表单(插入->SharePoint控件->自定义列表表单),如图:
cinfo004.jpg
3.插入后,页面变为:
cinfo005.jpg
4.我们可以修改这个DataFormWebPart,或着这个表格,使其符合界面展示的要求.
对于Title和Abstract部分,我们是可以灵活定制的.如图:
cinfo006.jpg
但是,当做到创建者和创建时间时,我们发现在这里Created, Created By,Modified,Modified By四个内容是合在一个叫CreatedModifiedInfo的控件中的.无法单独拿出一个来做展示.注意到当前数据源中也没有这些字段来供我们拖放.如图:
cinfo007.jpg
我们该如何做,才能让创建时间或创建者按客户预想的效果展示?
解决办法要从这里寻找:
D:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx
打开该文件,查找关键词“CreatedModifiedInfo”,找到如下的内容:
dot.gif
< 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 >
dot.gif
看到这里,我想大家已经知道该怎么办了。
在SharePoint Desinger中,重新定义该控件的模板。
比如,像这样:
< SharePoint:CreatedModifiedInfo  ControlMode ="Display"  runat ="server" >
        
< CustomTemplate >
            
< table  cellpadding ="0"  cellspacing ="0"  border ="0" >
            
< tr >
            
< td > 创建时间: &nbsp; </ td >
            
< td >< SharePoint:FieldValue  FieldName ="Created"  runat ="server"  ControlMode ="Display"  DisableInputFieldLabel ="true" /></ td >
            
</ tr >
            
</ table >
        
</ CustomTemplate >
    
</ SharePoint:CreatedModifiedInfo >
最终效果如下
cinfo009.jpg
FieldValue这个控件真是好用啊。其他几个,都可以这么来显示。只要修改FieldName即可。

转载于:https://www.cnblogs.com/Sunmoonfire/archive/2007/05/22/755968.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值