0

カスタム リボン ボタンを作成しました。評価設定が有効になっているかどうかを確認したいと思います。レーティング設定が有効になっている場合はリボン ボタンを有効にし、それ以外の場合はリボン ボタンを無効にします。

これは現在のリストを取得するためのコードですが、評価設定を確認する機能はありません。

   var clientContext = new SP.ClientContext();
   var oWebsite = clientContext.get_web();
   var collList = oWebsite.get_lists();

   var listId = SP.ListOperation.Selection.getSelectedList();
   var sdlist = oWebsite.get_lists().getById(listId);

   clientContext.load(sdlist);

   function CheckRatingSettings(){
       var fields = sdlist.get_fields();
       //What next to check Ratting Setting, I can't find any function to get that
   }
4

1 に答える 1

0

クライアント API からクエリを実行できるとは思いません。あなたの最善の策は、サーバー上でそれをチェックするWCFサービスを実装し、JavaScriptを介してそのサービスを照会することです。

CKS 開発者ツールを確認してください。Sharepoint で WCF サービスを作成するための Visual Studio 用のテンプレートが含まれています。

もう 1 つのオプションは、「AverageRating」フィールドがリストに存在するかどうかを確認することです。このフィールドは、評価を有効にするとリストに追加されます。フィールドが存在する可能性がありますが、評価が無効になっている可能性があることに注意してください。

これはテストされていません (そして、コードが正しいリスト ID を取得していると仮定すると、次のようになります。

var fields = slList.get_fields();
clientContext.load(fields );


function CheckRatingSettings(fields){
       for (var i = 0; i < fields.length; i++) {
           if (fields[i].internalName == "AverageRating") {
               return true;
           }
        }
        return false;
}
于 2013-01-30T15:08:07.647 に答える