Deaktivieren Sie bestimmte Zeilen in der Kendo Grid-Auswahlspalte in ASP.NET MVC mithilfe von JavaScript und jQuery: Schritt-für-Schritt-Anleitung
P粉364642019
P粉364642019 2024-03-30 17:18:30
0
1
385

Ich habe ein Kendo Grid in meinem ASP.NET MVC 5-Projekt. Eine der Spalten ist eine Auswahlspalte und ich werde versuchen, das Kontrollkästchen zu deaktivieren, wenn es eine bestimmte Bedingung erfüllt. Ich habe es geschafft, das Kontrollkästchen zu deaktivieren. Das Problem ist, dass dadurch nur die Benutzeroberfläche geändert wird, aber nicht entfernt wird, was von this.select() abgewählt wurde. Deaktivieren Sie einfach die spezifischen Zeilen, die die Bedingung = wahr machen, und lassen Sie die Zeilen, die falsch sind, aktiviert.

Zusammengefasst: Wenn Bedingung = wahr ist, möchte ich das Kontrollkästchen deaktivieren, es aus this.select() 中删除,从 this.selectedKeyNames() 中删除,并从 this._selectIds() entfernen, es aus this.selectedKeyNames() entfernen und es aus this._selectIds()< entfernen /code> code> um es zu löschen. Löschen Sie die Zeile nicht aus der Tabelle in der Benutzeroberfläche.

Der folgende Code ist nicht der tatsächliche Code, den ich verwende, sondern etwas Ähnliches. Der folgende Code kann möglicherweise nicht ausgeführt werden.

function onChange(e) {
   var selectedRows = this.select();
   for(var i = 0; i < selectedRows.length; i++){
       selectedRows[i].find("input[type='checkbox']").prop('checked', false);
       if( 2 > 6) {
          alert("You can't select this");
    }
  }
}

P粉364642019
P粉364642019

Antworte allen(1)
P粉561438407

似乎是 change 事件无法在事件处理程序中阻止,因此您可以添加 dataBound 事件处理程序并将单击处理程序附加到选择的复选框。如果满足条件 - 停止事件的传播:

dataBound: function(){
          var grid = this;
          grid.tbody.find('tr .k-select-checkbox').on('click', function(e){
            var dataItem = grid.dataItem($(this).closest("tr"));
            if(dataItem.Discontinued){
              $(this).prop('checked', !$(this).prop('checked'));
              e.stopImmediatePropagation();
              kendo.alert(`${dataItem.ProductName} is discontinued, you cannot select it!`)
            }
          })
        }

在此示例中,您无法选择停产商品。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!