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 SuperFormatter {
  static TFormatter mySpecial= (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";
  };
}

      
      

Apply Formatter class


      new grid.Column()
        ..formatter = LinkFormatter