build method

  1. @override
Widget build(
  1. BuildContext context
)
override

Implementation

@override
Widget build(BuildContext context) {
  return Row(
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      /// Frozen Content
      if (widget.freezeColumns > 0)
        _drawColumns(
          0,
          widget.freezeColumns,
          _freezeController,
        ),

      /// Table Content
      Flexible(
        child: ScrollConfiguration(
          behavior: const ScrollBehavior().copyWith(
            dragDevices: widget.dragDevices,
          ),
          child: Scrollbar(
            controller: _horizontalController,
            thumbVisibility: widget.horizontalScrollAlwaysVisible,
            thickness: widget.scrollBarThickness,
            child: SingleChildScrollView(
              controller: _horizontalController,
              scrollDirection: Axis.horizontal,
              child: _drawColumns(
                widget.freezeColumns,
                widget.columnBuilders.length,
                _internalController,
              ),
            ),
          ),
        ),
      ),

      /// Vertical Scrollbar
      Column(
        children: <Widget>[
          SizedBox(
            width: widget.scrollBarThickness,
            height: widget.headerHeight + widget.dividerHeight + 4.0,
          ),
          Expanded(
            child: Scrollbar(
              controller: _verticalController,
              // isAlwaysShown: widget.verticalScrollAlwaysVisible,
              thumbVisibility: widget.verticalScrollAlwaysVisible,
              thickness: widget.scrollBarThickness,
              child: SingleChildScrollView(
                controller: _verticalController,
                child: SizedBox(
                  width: widget.scrollBarThickness,
                  height: (widget.rowHeight + widget.dividerHeight + 4.0) *
                      widget.rowsCount,
                ),
              ),
            ),
          ),
        ],
      ),
    ],
  );
}