Articles in this section

How to render Treegrid column template in angular

It is possible to customize the TreeGrid column using column template support. We can use JsRender template or ng-template to render customized column. To enable column template support, set “isTemplateColumn” property as true. Preferably ng-template is used in angular application.

Please refer following code snippet for ng template,

//app.html
<e-treegrid-columns>                          
   <e-treegrid-column field="Name" headerText="Name" [isTemplateColumn]="true">
      <ng-template e-template let-data>
          <div style='height:20px;' unselectable='on'> 
               <div *ngIf="data.hasChildRecords==true"> 
                   <div class='intend' [ngStyle]="{height:'2px', float:'left',display:'inline-block', width: data.level*20 + 'px'}"></div> 
               </div> 
               <div *ngIf="data.hasChildRecords==false"> 
                   <div class='intend' [ngStyle]="{height:'2px', float:'left',display:'inline-block', width: data.level*20 + 24 + 'px'}"></div> 
               </div> 
               <div *ngIf="data.hasChildRecords==true && data.expanded==true"> 
                    <div class='e-treegridexpand e-icon' style=' margin-top: 4px;float:left;display:inline-block;' unselectable='on'></div> 
               </div>
               <div *ngIf="data.hasChildRecords==true && data.expanded==false"> 
                    <div class='e-treegridcollapse e-icon ' style=' margin-top: 4px;float:left;display:inline-block;' unselectable='on'></div> 
               </div> 
               <div *ngIf="data.hasChildRecords==false "> 
                   <div class='e-doc e-icon' style=' margin-top: 4px;float:left;display:inline-block;' unselectable='on'></div> 
               </div> 
               <div *ngIf="data.Name">
                     <div class='e-cell' style='display:inline-block;width:100%;margin-left:5px;' unselectable='on'>{{data.Name}}</div> 
                </div> 
            </div> 
        </ng-template>
   </e-treegrid-column>
</e-treegrid-columns>

 

//app.css
.e-treegrid .e-treegridexpand { 
    background-image: url(./../assets/treegrid/folder-open.png);
    background-repeat: no-repeat;
    width: 14px;
    height: 14px;
}
.e-treegrid .e-treegridcollapse {
    background-image: url(./../assets/treegrid/Folder.png);
    background-repeat: no-repeat;
    width: 14px;
    height: 14px;
}
.e-treegrid .e-doc {
   background-image: url(./../assets/treegrid/Document.png);
   background-repeat: no-repeat;
   width: 14px;
   height: 14px;
}
.e-treegrid .e-treegridexpand:before {
   content: none;
}
.e-treegrid .e-treegridcollapse:before {
   content: none;
}
.e-treegrid .e-treegridcollapse:after,
.e-treegrid .e-treegridexpand:after {
   opacity: 0;
}

A simple sample to render column template using ng-template is available here

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied