2016-09-28 7 views
1

剣道グリッドで、グリッドセルの値を変更すると、ダーティーフラグがその値を示す赤いマークを表示します私が同じ行に戻って値をもとの値に戻した場合でも、汚れたフラグの赤いマークが表示されます。 ここに例があります。 これはすべて保存前に行われます: 値=高、値を変更しました= Low(赤いマークが表示されます)、今度は保存前に値をHighに戻しました。値が同じであれば比較する方法は変更されたマークを与え、値が変更された場合にのみ更新して更新しません。 以下は私のコードです。剣道グリッドセルの値を変更して元の値に戻すと、保存前にダーティフラグが表示される

編集がトリガーされるたびに、元の値を保持して、新しい値と比較し、古いn個の新しいものが異なる場合は、汚れたセルクラスを追加します。私は保存をクリックしない限り、どのように私は、同じトピックを議論し、提案されたアプローチの例を含んでいる次のスレッドを、チェックエヴリー編集変更機能に

change: function (e) { 
      { 
       options.model.AssignedTo = e.sender.text(); 
       options.model.AssignedToId = e.sender.value(); 
       options.mod`enter code here`el.dirty = true; 
       container.removeClass("k-edit-cell"); 
       container.addClass("k-dirty-cell"); 
      }; 
     } 

答えて

0

はこのような何かを試してみてください。 私はグローバル変数のファンではありませんが、ここにオプションがないようです。

var firstDropDownFieldId = 0; 
var _ticketId = 0; 
function dropDownEditor(container, options) { 
    if (firstDropDownFieldId === 0 || _ticketId === 0 || _ticketId !== options.model.Id) { 
     firstDropDownId = options.model.dropdownId; 
     _ticketId = options.model.Id; 
    } 
    editDropDown(container, options); 
} 
function editDropDown(container, options) { 
    $(field).appendTo(container); 
    var thisDropDownList = $("#DropDown").kendoDropDownList({ 
     autoBind: false, 
     dataSource: datSource, 
     change: function(e) { 
      { 
       options.model.DropDownField= e.sender.text(); 
       options.model.DropDownFieldId= e.sender.value(); 
       options.model.dirty = true; 
       container.removeClass("k-edit-cell"); 
       container.addClass("k-dirty-cell"); 
       if (parseInt(e.sender.value()) === firstDropdownId && options.model.Id === _ticketId) { 
        options.model.dirty = false; 
        container.removeClass("k-dirty-cell"); 
        container.addClass("k-edit-cell"); 
       } 
      }; 
     } 
    }).data("kendoDropDownList"); 
} 
関連する問題