Sharepoint 2010 の Web サービス インターフェイスを使用して、特定のリストの列を取得しようとしています。GetList() 呼び出しを使用してすべての列を取得することに問題はありませんが、Sharepoint UI の [リスト設定] ビューでユーザーが表示できる列のみを取得する必要があるという問題があります。
私が現在使用しているコードは次のとおりです。
rootNode = serviceReference.GetList(List_id.ToString());
Element element = XElement.Parse(rootNode.OuterXml);
var fields = from e in element.Descendants()
where e.Name.LocalName == "Field" && e.Attribute("ID") != null &&
!(e.Attribute("Name").Value.StartsWith("_") && e.Attribute("SourceID").Value == "http://schemas.microsoft.com/sharepoint/v3")
select e;
ここで、serviceReference は SharePoint リスト サービスのインスタンスであり、List_id は、Sharepoint に対して内部的にリストを表す GUID です。
これにより、不要な列の一部が除外されますが、すべてが削除されるわけではありません。
ユーザーがビューに追加するために選択できるものだけに絞り込むために、私が探している属性を知っている人はいますか? それとも、私はこれを完全に間違った方法で行っていますか?
助けてくれてありがとう。