xLayout_xDett_Item_CellWidget method

Widget xLayout_xDett_Item_CellWidget(
  1. XCol xCol,
  2. XFDataItem item,
  3. bool noTextWhenCellValueIsNull, {
  4. String formatDate = "dd/MM/yy",
  5. int? maxLines,
})

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);
}