次の方法で共有


ユーザー設定の複数列フィールド クラス

Windows SharePoint Services 3.0 には、複数の値を含むフィールドをエミュレートする SPFieldMultiColumn というクラスが含まれています。実際にこのクラスに含まれているのは、複数の "列" の値を特殊な区切り文字で区切った単一の文字列値です。このクラスには、複数の列を含んでいるようにクラスを操作できるメソッドが含まれています。たとえば、"列" の数を設定することや、個々の "列" の値を設定したり取得したりすることができます。

SPFieldMultiColumn クラスから派生したクラスは、既定ではこれらのメンバを継承します。さらに、派生クラスは SPFieldMultiColumn クラスのフィールド定義 XML で定義される CAML (Collaborative Application Markup Language) のレンダリング パターンも利用できます。これらのレンダリング パターンは、複数列データの表示およびヘッダー ビューに使用します。

注意

Windows SharePoint Services 3.0 では、SPFieldMultiColumn フィールド用のデータは、コンテンツ データベースで並べ替えることができない SQL データ型として格納されます。このため、SPFieldMultiColumn フィールド型またはここから派生するユーザー設定フィールド型に基づく列は並べ替えることができません。ただし、独自フィールドの関連付け を使用して、この制限を回避できます。

フィールド定義 XML およびレンダリング パターンの詳細については、「ユーザー設定フィールド型の定義」を参照してください。

SPFieldMultiColumn オブジェクトのデータ値にアクセスする

SPFieldMultiColumn クラスには、SPFieldMultiColumn オブジェクトの実際の "列" の値を表す SPFieldMultiColumnValue というクラスが含まれています。SPFieldMultiColumnValue クラスには、開発者が特定の "列" の値にアクセスするために、SPFieldMultiColumn.ToString メソッドの結果を直接解析する代わりに使用する必要があるインデックスがあります。

SPFieldMultiColumnValue クラスのコンストラクタ

SPFieldMultiColumnValue クラスには 3 つのコンストラクタ メソッドがあります。開発者は以下の動作に基づいて使用するコンストラクタを決定できます。

  • SPFieldMultiColumnValue()   決まった数の "列" を持たない新しい SPFieldMultiColumnValue オブジェクトを作成します。開発者は次に SPFieldMultiColumnValue.Add メソッドを使用して、データの "列" を必要な数だけオブジェクトに追加できます。

  • SPFieldMultiColumnValue(Int32)   指定された数の "列" を持つ新しい SPFieldMultiColumnValue オブジェクトを作成します。開発者は次に Item プロパティを使用して、特定の "列" の値を設定および取得できます。

  • SPFieldMultiColumnValue(String)   "列" の数と各列の値を決定する渡された文字列引数を使用して、新しい SPFieldMultiColumnValue オブジェクトを作成します。文字列引数の最初と最後は区切り文字 (#;) とし、この区切り文字で各フィールドを区切る必要があります。

    たとえば、次の文字列を渡してこのコンストラクタを呼び出すとします。

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

    コンストラクタは、データの "列" を 3 つ持つ新しい SPFieldMultiColumnValue オブジェクトを作成します。1 つ目には "column one value"、2 つ目には "column two value"、3 つ目には "column three value" が含まれます。

    開発者は次に Item プロパティを使用して、特定の "列" の値を設定および取得できます。

    このコンストラクタは、列の値が既に区切り文字付きで格納されているデータベースやその他のデータ ソースから、文字列を読み取るときに役立ちます。

SPFieldMultiColumnValue クラスから値を書き込む

概念的に、最後の SPFieldMultiColumnValue コンストラクタは M:Microsoft.SharePoint.SPFieldMultiColumnValue.ToString メソッドの反対の機能を実行します。M:Microsoft.SharePoint.SPFieldMultiColumnValue.ToString メソッドは、"列" を区切るための区切り文字を持った文字列を、SPFieldMultiColumnValue オブジェクトから生成します。このメソッドは、"列" の値が既に区切り文字付きの文字列として格納されているデータベースやその他のデータ ソースに、"列" の値を書き込むときに役立ちます。

See Also

概念

ユーザー設定フィールド型

ユーザー設定フィールドクラス

ユーザー設定フィールド データ入力規則