J'ai une Kendo Grid dans mon projet ASP.NET MVC 5. L'une des colonnes est une colonne de sélection et j'essaierai de décocher la case si elle remplit une certaine condition. J'ai réussi à décocher la case. Le problème est que cela modifie simplement l'interface utilisateur mais ne supprime pas ce qui a été désélectionné this.select()
. Décochez simplement les lignes spécifiques qui font que la condition = true et laissez les lignes qui sont fausses cochées.
En résumé, si condition = true, je souhaite décocher la case, la supprimer de this.select()
中删除,从 this.selectedKeyNames()
中删除,并从 this._selectIds()
, la supprimer de this.selectedKeyNames()
et la supprimer de this._selectIds()< /code> code> pour le supprimer. Ne supprimez pas la ligne du tableau dans l’interface utilisateur.
Le code ci-dessous n'est pas le code réel que j'utilise, mais quelque chose de similaire. Le code ci-dessous risque de ne pas s'exécuter.
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"); } } }
semble être le gestionnaire d'événements
change
事件无法在事件处理程序中阻止,因此您可以添加dataBound
et attache le gestionnaire de clics à la case à cocher sélectionnée. Si la condition est remplie - arrêter la propagation de l'événement :Dans cet exemple, vous ne pouvez pas sélectionner des articles discontinués.