Articles in this section
Category / Section

How to render Treegrid column template in angular

1 min read

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)
Please sign in to leave a comment
Access denied
Access denied