@@ -15,6 +15,7 @@ import {
1515 useRegisterBindings ,
1616 type EnsembleAction ,
1717 unwrapWidget ,
18+ evaluateDeep ,
1819} from "@ensembleui/react-framework" ;
1920import React , {
2021 useCallback ,
@@ -81,6 +82,7 @@ export interface DataGridRowTemplate {
8182 disableSelection ?: Expression < boolean > ;
8283 onTap ?: EnsembleAction ;
8384 children ?: EnsembleWidget [ ] ;
85+ styles ?: EnsembleWidgetStyles ;
8486 } & HasItemTemplate ;
8587}
8688
@@ -475,7 +477,20 @@ export const DataGrid: React.FC<GridProps> = (props) => {
475477 key = { resolvedWidgetId }
476478 onChange = { onChange }
477479 onRow = { ( record , recordIndex ) => {
478- return { onClick : ( ) => onTapActionCallback ( record , recordIndex ) } ;
480+ const rowStyles = itemTemplate . template . properties . styles ;
481+ const recordStyles = rowStyles
482+ ? evaluateDeep (
483+ rowStyles as {
484+ [ key : string ] : unknown ;
485+ } ,
486+ defaultScreenContext . model ,
487+ { ...record , index : recordIndex } ,
488+ )
489+ : { } ;
490+ return {
491+ onClick : ( ) => onTapActionCallback ( record , recordIndex ) ,
492+ style : recordStyles ,
493+ } ;
479494 } }
480495 pagination = { paginationObject }
481496 rowKey = { ( data : unknown ) => {
@@ -613,6 +628,9 @@ export const DataGrid: React.FC<GridProps> = (props) => {
613628 height: 100%;
614629 cursor: col-resize;
615630 }
631+ #${ resolvedWidgetId } table {
632+ border-collapse: collapse;
633+ }
616634
617635 #${ resolvedWidgetId } .ant-table-thead > tr > th {
618636 ${
0 commit comments