This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreGet Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.
I am trying to create custom Table visual. While adding the conditional formating option I am getting error. How do I rectify it. Is there sample code available for custom Table visual. I checked the documentation but not getting much info.
TS2322: Type '{ slices: undefined[]; }' is not assignable to type 'FormattingGroup | FormattingGroupPlaceholder'.
Type '{ slices: undefined[]; }' is missing the following properties from type 'FormattingGroup': uid, displayName
public getFormattingModel(): powerbi.visuals.FormattingModel {
const formattingModel: powerbi.visuals.FormattingModel = {
cards: []
};
const formattingCard: powerbi.visuals.FormattingCard = {
displayName: "Cell Elements",
uid: "cellElementsCard",
description: "Customize the cell elements",
groups: [
{
slices: []
}
]
};
const tableData = this.dataView.table.rows;
const columns = this.dataView.table.columns;
tableData.forEach((row, rowIndex) => {
row.forEach((cell, cellIndex) => {
const columnName = columns[cellIndex].displayName;
const colorSetting = this.tableSettings.cellElements.backgroundColor;
const backgroundColorSlice: powerbi.visuals.FormattingSlice = {
displayName: `${columnName} Background Color`,
uid: `backgroundColor_${rowIndex}_${cellIndex}`,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "cellElements",
propertyName: "backgroundColor",
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals), // Corrected option
altConstantValueSelector: null,
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule
},
value: { value: colorSetting }
}
}
};
const fontColorSlice: powerbi.visuals.FormattingSlice = {
displayName: `${columnName} Font Color`,
uid: `fontColor_${rowIndex}_${cellIndex}`,
control: {
type: powerbi.visuals.FormattingComponent.ColorPicker,
properties: {
descriptor: {
objectName: "cellElements",
propertyName: "fontColor",
selector: dataViewWildcard.createDataViewWildcardSelector(dataViewWildcard.DataViewWildcardMatchingOption.InstancesAndTotals), // Corrected option
altConstantValueSelector: null,
instanceKind: powerbi.VisualEnumerationInstanceKinds.ConstantOrRule
},
value: { value: this.tableSettings.cellElements.fontColor }
}
}
};
formattingCard.groups[0].slices.push(backgroundColorSlice, fontColorSlice);
});
});
formattingModel.cards.push(formattingCard);
return formattingModel;
}
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.