xLayout_xDett_Item_CellWidget method
Da Overridare se vuoi modificare il Layout delle celle dei Dettagli nell'area ROW della Scheda
Implementation
Widget xLayout_xDett_Item_CellWidget(XCol xCol, XFDataItem item, bool noTextWhenCellValueIsNull, {String formatDate = "dd/MM/yy", int? maxLines}) {
Widget _xContainerOfWidgets;
if (xCol.dataType == String && xCol.colKey.startsWith("li").not()) {
_xContainerOfWidgets = Text(item[xCol.colKey] != null ? item[xCol.colKey] : (noTextWhenCellValueIsNull ? "<No Text>" : ""),
maxLines: maxLines != null
? maxLines
: xCol.multilines
? 3
: 1,
style: XStyles.xStyTextForDescr(textColor: Colors.white),
overflow: TextOverflow.ellipsis);
}
//WIDGET NEL CASO FOSSE UN DATETIME
else if (xCol.dataType == DateTime) {
_xContainerOfWidgets = Text(XUtils.dateToString(item[xCol.colKey] ?? DateTime(1900, 01, 01), format: formatDate), maxLines: 1, style: XStyles.xStyTextForDescr(textColor: Colors.white), overflow: TextOverflow.ellipsis);
}
//WIDGET NEL CASO FOSSE UN DOUBLE
else if (xCol.dataType == double) {
if (xCol.format == "C") {
_xContainerOfWidgets = Text(XUtils.xFormatToCurrency(context, item[xCol.colKey] ?? 0.0), style: XStyles.xStyTextForDescr(textColor: Colors.yellow), textAlign: TextAlign.end, overflow: TextOverflow.ellipsis);
// Se è un un semplice double
} else {
_xContainerOfWidgets = Text(item[xCol.colKey] != null ? item[xCol.colKey].toString() : "0.0", style: XStyles.xStyTextForDescr(textColor: Colors.yellow), overflow: TextOverflow.ellipsis);
}
}
//WIDGET NEL CASO FOSSE UN INTERO
else if (xCol.dataType == int) {
_xContainerOfWidgets = Text(item[xCol.colKey] != null ? item[xCol.colKey].toString() : "0", style: XStyles.xStyTextForDescr(textColor: Colors.white), overflow: TextOverflow.ellipsis);
//Se fosse una lista e voglio prendere la quantità di oggetti dentro
} else if (xCol.dataType == bool) {
_xContainerOfWidgets = Container(
child: XCheckBoxWidget(
verticalCheckBoxWidget: true,
label: xCol.colCaption,
label_Color: xCol.xmodelXprop.col_Color,
activeColor: xCol.xmodelXprop.col_Color,
checkColor: Colors.black,
value: (item[xCol.colKey] ?? false),
onChanged: (value) async {
setState(() {
editedPage.value = true;
item[xCol.colKey] = value;
});
}),
);
} else if (xCol.dataType == String && (xCol.colKey.startsWith("li"))) {
_xContainerOfWidgets = Container();
} else {
_xContainerOfWidgets = Text(xCol.headerToolTip + (item[xCol.colKey] != null ? item[xCol.colKey] : (noTextWhenCellValueIsNull ? "<No Text>" : "")), style: XStyles.xStyTextForDescr(textColor: Colors.white), overflow: TextOverflow.ellipsis);
}
return Container(width: xCol.width * XUtils.kforScale, child: _xContainerOfWidgets);
}