使用SPCAMLEditor为Sharepoint列表增加鼠标移入提示字段

        我们都知道,Sharepoint的文档库拥有非常强大的,具备了一定的可扩展性及可定制性。可以根据不同的业务需求快速增加不能的字段属性。但是使用时总是有那么一点不顺手。是中国人使用习惯和USA不同?

下面便是几个在使用中常碰到的问题:

1、分页问题,如果ITEM比较多的,用它自带的分页会把人急死的。(这个我至今没有找到好的解决办法。希望高手能点拔我一下。)

2、字段值过长时把会显示样式挤的很难看,如下图:

2009-05-12_135447

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添加到当前视图中,即可实现如下图效果:(就这么简单)

MouseOverTips

原文地址:https://www.cnblogs.com/scally/p/1455303.html