Formatter only change how cell is display, to trigger action, using grid.onClick to subscribe event

Formatter function, see grid.TFormatter


        LinkFormatter(int row, int cell, dynamic value, grid.Column columnDef, dataContext) {
          if(value %5==0) return "<a href='#'>Link - $value</a>";
          if(value %3==0) return "<div style='color:red;text-align:right;width:100%;'>$value</div>";
          return value;
        }
      
      

Formatter class


        class SuperFormater {
          call(int row, int cell, dynamic value, grid.Column columnDef, dataContext) {
            /**demo code for ser/deser */
            var colStr = JSON.encode(columnDef);
            new grid.Column.fromJSON(colStr);
            /** end */
            return value;
          }

          toString() {
            return 'SuperFormater';
          }
        }

      
      

Apply Formatter class


      new grid.Column()
        ..formatter = LinkFormatter