自定义多列字段类

上次修改时间: 2010年4月3日

适用范围: SharePoint Foundation 2010

SharePoint Foundation 包含一个 SPFieldMultiColumn 类,该类可模拟包含多个值的字段。实际上,该类包含一个字符串值,在该字符串值中,各个"列"的值由特殊分隔符分隔。该类包含使您能够操作该类的成员,就好像它包含多个列一样;例如,设置"列"的数目以及设置或检索单个"列"值。

访问 SPFieldMultiColumn 对象的数据值

SPFieldMultiColumn 类包含一个表示 SPFieldMultiColumn 对象中实际"列"值的类 SPFieldMultiColumnValueSPFieldMultiColumnValue 类包含一个索引,开发人员应使用该索引访问特定"列"的值,而不是直接分析 ToString() 方法的结果。

SPFieldMultiColumnValue 类构造函数

SPFieldMultiColumnValue 类包含三个构造函数方法。开发人员可以根据以下行为来决定使用哪个构造函数:

  • SPFieldMultiColumnValue()   可创建一个不包含指定"列"数的新 SPFieldMultiColumnValue 对象。然后,开发人员可使用 Add(String) 方法追加对象所需的任意数量的数据"列"。

  • SPFieldMultiColumnValue(Int32)   可创建一个包含指定"列"数的新 SPFieldMultiColumnValue 对象。然后,开发人员可以使用 Item 属性来获取和设置特定"列"的值。

  • SPFieldMultiColumnValue(String)    可使用传入字符串参数创建一个新的 SPFieldMultiColumnValue 对象,以确定"列"数及每列中的值。该字符串参数必须以分隔符";#"开头和结尾,并且必须用该分隔符分隔各个字段。

    例如,假设您调用此构造函数来传递下面的字符串:

    ";#column one value;#column two value;#column three value;#"

    此构造函数可创建一个包含三个数据"列"的新的 SPFieldMultiColumnValue 对象。第一列包含"column one value";第二列包含"column two value";第三列包含"column three value"。

    然后,开发人员可以使用 Item 属性来获取和设置特定"列"的值。

    在从数据库或其他数据源(其中存储了包含分隔符的列值)读取字符串时,此构造函数很有用。

从 SPFieldMultiColumnValue 类写入值

从概念上讲,最后一个 SPFieldMultiColumnValue 构造函数执行 ToString() 方法的相反功能。ToString() 方法可通过 SPFieldMultiColumnValue 对象生成一个包含用于分隔"列"的分隔符的字符串。在将"列"值写入数据库或其他数据源(其中的"列"值存储为字符串且包含分隔符)时,此方法很有用。

请参阅

概念

自定义字段类型

如何:创建自定义字段类

自定义字段数据验证