I am trying to display opportunity share records in lwc data table, I am getting blank rows even though when i execute the query in the workbench, records are being returned with values.
Code below:
import {LightningElement, track, wire} from 'lwc';
import getOppdata from '@salesforce/apex/LWCExampleController.retriveOpportunities';
const columns = [
{
label: 'User',
fieldName: 'UserOrGroupName',
type: 'text',
},
{
label: 'AccessLevel',
fieldName: 'OpportunityAccessLevel',
type: 'text'
}
]
export default class OpptyAccountLWC extends LightningElement {
@track data = [];
@track columns = columns;
@wire(getOppdata)
opp({error, data}) {
if(data) {
let currentData = [];
data.forEach((row) => {
let rowData = {};
rowData.User = row.UserOrGroup.Name;
rowData.AccessLevel = row.OpportunityAccessLevel;
//window.alert('########## '+row.UserOrGroup.Name );
//console.log('########### '+ row.UserOrGroup.Name);
currentData.push(rowData);
});
this.data = currentData;
}
else if(error) {
window.console.log(error);
}
}
}
HTML:
<template>
<lightning-card title="OpptyShareRecords">
<lightning-datatable columns={columns}
data={data}
key-field="id"
hide-checkbox-column="true"
show-row-number-column="true"></lightning-datatable>
</lightning-card>
</template>
Controller class:
public class LWCExampleController {
@AuraEnabled(cacheable=true)
public static list<OpportunityShare> retriveOpportunities() {
return [SELECT OpportunityAccessLevel,UserOrGroup.Name
FROM OpportunityShare];
}
}
{}
to format your code properly.