2017-10-05 9 views
0

インライン編集オプションを持つ剣道グリッドがあります。私はユーザーが値を選択する必要があるドロップダウンを持っています。ドロップダウンから特定の項目を動的に無効にしたいドロップダウンからオプションを動的に有効または無効にする必要があるため、無効なオブジェクトをソースとは別の配列に格納します。 Hereが例です。剣道グリッドインライン編集のドロップダウンオプションを無効にしました

columns: [{ 
      field: "xxxx", 
      title: "xxxx", 
      template: function (dt) { 
       return dt.xxxx; 
      }, 
      editor: function (container, options) { 
       $('<input name="' + options.field + '"/>') 
        .appendTo(container) 
        .kendoDropDownList({ 
         dataTextField: "textField", 
         dataValueField: "ValueField", 
         dataDisabled:arrayOfObjThatShouldBeDisabled,//Don't work I know 
         dataSource: { 
          data: myDataSource // DYNAMIC SOURCE 
         } 
        }); 
      } 
     }] 

ここには、剣道のウェブサイトsampleがあります。

Another Example

+0

働いて、あなたの問題は何ですか? dojoの例は、あなたが望むものだけを行います。 – DontVoteMeDown

+0

@DontVoteMeDownコメントありがとうございますが、動作しません。 idとisDeletedオプションを設定しましたが、ランタイムエラーは発生しませんが、オプションを無効にしませんでした –

+1

問題のソースコードが不十分です。より多くの、あるいは、dojoの例を追加する必要があります。それ以外の場合は助けが困難になります。 – DontVoteMeDown

答えて

0

質問は、私はコードがない何であるか、それは私の問題にマップする方法を説明しようとベースそれを維持this Kendo UI Dojoに密接に回転したよう。

まず、フラグをfalseに導入するために、オプションを無効にする必要があるかどうかを特定するフラグを設定する必要があります。

次に、次のセクションをhtmlに追加する必要があります。ここでは、魔法が起きるとクラスをisDeletedの値に応じて追加するかどうかを決定するテンプレートが提供されます。それと

<script id="template" type="text/x-kendo-template"> 
    <span class="#: isDeleted ? 'k-state-disabled': ''#"> 
     #: name # 
    </span> 
</script> 

次のように私は、コードに行われた軽微な変化に持っており、それは

$('<input name="' + options.field + '"/>') 
        .appendTo(container) 
        .kendoDropDownList({ 
         dataSource: { 
         data: myDataSource // DYNAMIC SOURCE 
         }, 
         dataTextField: "textField", 
         dataValueField: "ValueField", 
         select: function (e) { 
          if (e.dataItem.isDeleted) { 
           e.preventDefault(); 
          } 
         }, 
         template: kendo.template($("#template").html()) 
        }); 
関連する問題