2016-06-22 9 views
0

私は剣道UIグリッドを持っています。フィールドに値があれば、それは読み取り専用(編集不可)として表示されます。それ以外の場合は、編集可能なセルになります。 今、以下の解決方法を実装しました。カスタム機能:読み取り専用剣道UIを編集するダーティーセルクラスを適用したときのグリッドセル

[http://jsfiddle.net/NX96g/175/][1] 

正常です。フィールドに値または '空白/空/空'がない場合、そのセルは編集可能です。 しかし、ユーザーがEmpty/blank/Nullセルに何らかの値を入力すると、セルが即座に読み込み専用になり、ユーザーは編集できなくなります。 汚れたセルクラスが適用されているときにユーザーがセルを編集する方法を教えてください。

答えて

0

ない

あなたのDataSourceがオートシンク持っている、これは本当に答えであることを確認しますが...:真実を。 でない場合、をtrueに設定すると、kendoはセル/ tdに "k-dirty-cell"クラスを追加します。これは永続化され、赤いマーカーを追加するk-dirtyスパンを追加するために使用されます。

http://dojo.telerik.com/@Stephen/uvaGI 

これは、あなたがオートシンクで作業したいものを示しています。偽と "K-汚いセル" クラスのための余分なチェック:

if (!isEditable(fieldName, e.model) && !e.container.hasClass("k-dirty-cell")) { 

オートシンクがtrueの場合、「K-dirty-セル "クラスが使用されておらず、変更が常にすぐに保存されているように見えるものがない場合、技術的にはセルは決して汚れていません。

autoSyncが必要な場合:true ...まだ何かを把握することができませんでした。私はmodel.dirtyのチェックを追加して演奏しましたが、autoSyncが変更をすぐに保存するので、モデルのautoSyncはエディタで2度目のダーティではありません。

あなたがここにテクニックのバリエーションを使用する可能性もある。

http://www.telerik.com/support/code-library/preserve-the-dirty-indicator-in-incell-editing-and-client-operations 

をモデルに手動で汚れた細胞を追跡し、あなたのisEditableを()の中にそのチェックを統合します。

しかし、本当に必要ない場合は、私はたぶんautoSyncをオフにします。