我们都知道,Sharepoint的文档库拥有非常强大的,具备了一定的可扩展性及可定制性。可以根据不同的业务需求快速增加不能的字段属性。但是使用时总是有那么一点不顺手。是中国人使用习惯和USA不同?
下面便是几个在使用中常碰到的问题:
1、分页问题,如果ITEM比较多的,用它自带的分页会把人急死的。(这个我至今没有找到好的解决办法。希望高手能点拔我一下。)
2、字段值过长时把会显示样式挤的很难看,如下图:
3、不能为视图增加多选CheckBox。(我在之前文章中写过如何解决此问题:http://www.cnblogs.com/scally/archive/2009/02/25/1395967.html)
现在让我们来一起解决第二个问题。
如果是普通的Web Application 我们可以直接用SUBSTRING的方法对字符串进行截取,然后在结合HTML的标签的TITLE属性,进行鼠标的移入提示(应该是有个什么专业名词吧,但是我不知道)。但是在ListViewwWebPart 上,就使我为难了。
经过努力,我终于探索出一种解决办法(肯定不是最好的,但是确实能实现这种功能)。
微软的ListViewwWebPart 显示样式必须手写CAML来定义Field。我们可以调用他的对象模型添加Field但是那样做比较繁琐。修改测试更加是难上加难。于是我选择SPCAMLEditor ,一个出色的Cmal编写工具。
只需两步:
1、创建在我的列表中创建计算列:=IF(LEN(呈文题目)>=14,CONCATENATE(LEFT(呈文题目,14),"..."),呈文题目)
假设列表中存在呈文题目这个字段,那么这个计算列主要就是判断该字段是否大于14个字符,如果大于则于截取前14个字符并以“…”连接字符串。
2、使用SPCAMLEditor在我的列表或文档库中增加一个Field
具体代码如下:
<Field ID="{c99366f1-a89d-4e69-9e77-90d0fac7e94d}" ReadOnly="FALSE" Type="Computed" Name="_x7f16__x8f91_" Sortable="FALSE" Filterable="FALSE" DisplayName="题目" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="ShortTitle" FromBaseType="TRUE" Version="99" AllowDeletion="TRUE" Required="FALSE" IMEMode="">
<FieldRefs>
<FieldRef Name="_x0033_4e77b69_x002d_7dcd_x002d_411d_x002d_9734_x002d_f67e57aa3260" />
<FieldRef Name="_x9898__x76ee__x622a__x53d6_" />
</FieldRefs>
<DisplayPattern>
<HTML><![CDATA[<span title="]]></HTML>
<Column Name="_x0033_4e77b69_x002d_7dcd_x002d_411d_x002d_9734_x002d_f67e57aa3260" />
<HTML><![CDATA[">]]></HTML>
<Column Name="_x9898__x76ee__x622a__x53d6_" />
<HTML><![CDATA[</SPAN>]]></HTML>
</DisplayPattern>
<Default />
</Field>
说明:
<Column Name="_x9898__x76ee__x622a__x53d6_" />其中Name的值为我刚刚创建的计算列。
<Column Name="_x0033_4e77b69_x002d_7dcd_x002d_411d_x002d_9734_x002d_f67e57aa3260" />,完整值显示字段(呈文题目)。
将刚创建的Field添加到当前视图中,即可实现如下图效果:(就这么简单)