ユーザー設定の複数列フィールド クラス
最終更新日: 2010年4月3日
適用対象: SharePoint Foundation 2010
SharePoint Foundation には、複数の値を含むフィールドをエミュレートする SPFieldMultiColumn というクラスが含まれています。実際にこのクラスに含まれているのは、複数の "列" の値を特殊な区切り文字で区切った単一の文字列値です。このクラスには、複数の列を含んでいるようにクラスを操作できるメソッドが含まれています。たとえば、"列" の数を設定することや、個々の "列" の値を設定したり取得したりすることができます。
SPFieldMultiColumn オブジェクトのデータ値にアクセスする
SPFieldMultiColumn クラスには、SPFieldMultiColumn オブジェクトの実際の "列" の値を表す SPFieldMultiColumnValue というクラスが含まれています。SPFieldMultiColumnValue クラスには、開発者が特定の "列" の値にアクセスするために、ToString() メソッドの結果を直接解析する代わりに使用する必要があるインデックスがあります。
SPFieldMultiColumnValue クラスのコンストラクター
SPFieldMultiColumnValue クラスには 3 つのコンストラクター メソッドがあります。開発者は以下の動作に基づいて使用するコンストラクターを決定できます。
SPFieldMultiColumnValue() 決まった数の "列" を持たない新しい SPFieldMultiColumnValue オブジェクトを作成します。開発者は次に Add(String) メソッドを使用して、データの "列" を必要な数だけオブジェクトに追加できます。
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 コンストラクターは ToString() メソッドの反対の機能を実行します。ToString() メソッドは、"列" を区切るための区切り文字を持った文字列を、SPFieldMultiColumnValue オブジェクトから生成します。このメソッドは、"列" の値が既に区切り文字付きの文字列として格納されているデータベースやその他のデータ ソースに、"列" の値を書き込むときに役立ちます。