SharePoint の分離コードで、別のリストのルックアップ フィールドにあるリストから計算フィールドの値にアクセスできません。
ページ上の ListFieldIterator は、多数のオプションをユーザーに表示します。ユーザーが行った特定の選択に対して、バックエンドの検証を実行する必要があります。
ユーザーが再生、パフォーマンス、表示などを選択できる「イベントタイプ」というリストがあります。このリストには、説明、有効、デフォルト、フィルターの4つの列があります。Filtered は、他の列で選択されたオプションに基づいて生成される計算列です。
リスト Events には、このリストへの参照である列があり、フィルタリングされた列が表示されます。
ページ上で、これはすべてうまく機能します。オプションがユーザーに表示され、ユーザーは選択を行うことができます。計算フィールドを追加する前に、以下を実行して選択にアクセスできました
SPFieldLookup eventTypeField = ListFieldIterator.Item.Fields.GetField("Event_x0020_Type") as SPFieldLookup;
if (eventTypeField.GetFieldValueAsText(ListFieldIterator.Item["Event_x0020_Type"]) == "Performance")
{
// some other logic
errorMessages.Add("There is an error here");
}
ただし、この方法でフィールドにアクセスすると、空の文字列が返されます。
選択したアイテムにアクセスしようとすると
string value = eventFields.Item["Event_x0020_Type_x0020_1"].ToString();
次に、選択したアイテムのリスト内の位置である「8」が返されます。(選択したリストのアイテムに基づいて変化します)
この投稿計算フィールドの値を取得する 関連しているようですが、ルックアップフィールドから計算フィールドを取得する明確な方法がわかりません。
任意の提案をいただければ幸いです