Reputation: 666
Here is my code :
<ion-grid no-padding>
<ion-row *ngFor="let item of items" let i=index no-padding>
<ion-col col-6 col-sm-3 col-md-6 col-lg-4 col-xl-3>
<ion-card [ngStyle]="{'background': 'url(' + item.PImage + ')'}">
<div *ngIf="item.Ptype == 'cash'" class="cash-cat-icon"></div>
<div *ngIf="item.Ptype == 'cheque'" class="cheque-cat-icon"></div>
<div>
<h2 item-title >{{item.pName}}</h2>
<h4 item-title >RS: {{item.PPrice}}</h4>
</div>
</ion-card>
</ion-col>
<ion-col col-6 col-sm-3 col-md-6 col-lg-4 col-xl-3>
<ion-card [ngStyle]="{'background': 'url(' + item.PImage + ')'}">
<div *ngIf="item.Ptype == 'cash'" class="cash-cat-icon"></div>
<div *ngIf="item.Ptype == 'cheque'" class="cheque-cat-icon"></div>
<div>
<h2 item-title >{{item.pName}}</h2>
<h4 item-title >RS: {{item.PPrice}}</h4>
</div>
</ion-card>
</ion-col>
</ion-row>
</ion-grid>
Now my data is like : { name1, name2, name3, name4, name5, name6 }
But in my screen I am getting like :
name1 name1
name2 name2
name3 name3
name4 name4
But i want like :
name1 name2
name3 name4
name5 name6
Please help me out.How can I achieve this! I know to keep index but don't know how to show that values in the respective grid
Upvotes: 1
Views: 156
Reputation: 2093
Wrap the ion-col in ng-container and give condition to enter only for even index
<ion-grid no-padding>
<ion-row no-padding *ngFor="let item of items;let i=index">
<ng-container *ngIf="i % 2 == 0">
<ion-col col-6 col-sm-3 col-md-6 col-lg-4 col-xl-3 *ngIf="i < items.length">
<ion-card [ngStyle]="{'background': 'url(' + items[i].PImage + ')'}">
<div *ngIf="items[i].Ptype == 'cash'" class="cash-cat-icon"></div>
<div *ngIf="items[i].Ptype == 'cheque'" class="cheque-cat-icon"></div>
<div>
<h2 item-title >{{items[i].pName}}</h2>
<h4 item-title >RS: {{items[i].PPrice}}</h4>
</div>
</ion-card>
</ion-col>
<ion-col col-6 col-sm-3 col-md-6 col-lg-4 col-xl-3 *ngIf="i + 1 < items.length">
<ion-card [ngStyle]="{'background': 'url(' + items[i+1].PImage + ')'}">
<div *ngIf="items[i+1].Ptype == 'cash'" class="cash-cat-icon"></div>
<div *ngIf="items[i+1].Ptype == 'cheque'" class="cheque-cat-icon"></div>
<div>
<h2 item-title >{{items[i+1].pName}}</h2>
<h4 item-title >RS: {{items[i+1].PPrice}}</h4>
</div>
</ion-card>
</ion-col>
</ng-container>
</ion-row>
</ion-grid>
pls check the demo
Upvotes: 1