2017-09-22 2 views
0

J'utilise la grille de kendo, où j'ai besoin de générer du HTML dynamique basée sur la valeur d'une colonne qui sera restituée par un autre function.I ont le code suivantGrille de Kendo générer html dynamique dans une colonne basée sur la valeur de la colonne?

$("#divGenerateLogin_kendogrid").kendoGrid({ 
 
       dataSource: { 
 
        data: data, 
 
        pageSize: 10 
 
       }, 
 
       sortable: true, 
 
       reorderable: true, 
 
       pageable: { 
 
        pageSizes: true, 
 
        buttonCount: 5 
 
       }, 
 
       filterable: true, 
 
       // selectable: true , 
 
       // dataBound: onDataBound, 
 
       columns: [ 
 
        { 
 
         field: "StudentName", 
 
         title: "Student Name", 
 
         type: "string" 
 
        }, 
 
        { 
 
         field: "Class", 
 
         title: "Class", 
 
         type: "string" 
 
        }, 
 
        { 
 
         title: "Login", 
 
         template: "#: LoginColHtml(IsLoginAvilable==1) #" 
 
        } 
 

 
       ] 
 
      }); 
 
      
 
      
 
      
 
function LoginColHtml(isLoginAvilable) { 
 

 
      var html = ""; 
 
      if (isLoginAvilable == true) { 
 
       html = "<button type='button' class='btn-ressetpwd'><i class='fa fa-key'></i> reset password</button>"; 
 
      } else { 
 
       html = "<button type='button' class='btn-generatelogin'><i class='fa fa-user'></i> generate login</button>"; 
 
      } 
 
      // "<div>#: (IsGuardianLoginAvilable==1) #</div>"; 
 
      return html; 
 

 
     }

Au lieu de retourner html réel dans une colonne son retour en tant que chaîne. Comment puis-je ajouter du HTML réel à la colonne au lieu d'une chaîne?

Pour votre information enter image description here

Répondre

0

J'ai essayé avec cela et cela a fonctionné

{ 
 
    title: "Guardian Login", 
 
    template: "#= LoginColHtml(IsLoginAvilable==1) #"  
 
}