Blazor Grid - Column Binding

Grid Events

Smart.Grid provides numerous events to help you develop custom behavior that fits your project's needs.

The events must first be attached as a property to the Grid, then specify the custom function they should execute.

Note that event.detail contains different information depening on the event

@inject WeatherForecastService ForecastService

<Grid DataSource="@forecast" Filtering="@filtering" OnFilter="OnFilter">
  <Columns>
    <Column DataField="Date" Label="Date"> </Column>
    <Column DataField="TemperatureC" Label="Temp. (C)"> </Column>
    <Column DataField="TemperatureF" Label="Temp. (F)"> </Column>
    <Column DataField="Summary" Label="Summary"> </Column>
  </Columns>
</Grid>

@code{
  private WeatherForecast[] forecast;
    
  GridFiltering filtering = new GridFiltering(){
      Enabled = true,
      FilterRow = new GridFilteringFilterRow(){ Visible = true, AutoApplyModeDelay=50}
  };
  protected override async Task OnInitializedAsync()
  {
      base.OnInitialized();
      forecast = await ForecastService.GetForecastAsync(DateTime.Now);
  }
  private void OnFilter(Event ev)
  {
      GridFilterEventDetail filterEventDetail = ev["Detail"];
      Console.WriteLine(filterEventDetail.Data[0].dataField);
      //Outputs the dataField of the column used for filtering
  }
}

Filter, Sort, Edit-related Events

  • OnBeginEdit - triggered, when the edit begins.
    Event Detail: string id, string dataField, dynamic row, dynamic column, dynamic cell
  • OnBatchChange - triggered, when the Grid's header toolbar is displayed and the 'OK' button of a header dropdown is clicked.
    For example, when you open the columns customize panel, reorder columns and click the 'OK' button.
    Event Detail: string type
  • OnBatchCancel -triggered, when the Grid's header toolbar is displayed and the 'Cancel' button of a header dropdown is clicked.
    Event Detail: string type
  • OnEndEdit - triggered, when the edit ends.
    Event Detail: string id, string dataField, dynamic row, dynamic column, dynamic cell
  • OnFilter - triggered, when a filter is added or removed.
    Event Detail: dynamic columns, dynamic data
  • OnSort - triggered, when a sorting column is added or removed.
    Event Detail: dynamic columns, dynamic data

Column-related Events

  • OnColumnClick - triggered, when the user clicks on the header of a column.
    Event Detail: dynamic column, string dataField, dynamic originalEvent
  • OnColumnDoubleClick - triggered, when the user double clicks on the header of a column.
    Event Detail: dynamic column, string dataField, dynamic originalEvent
  • OnColumnResize - triggered, when the user resized a column.
    Event Detail: dynamic column, string dataField, string oldWidth, string width
  • OnColumnDragStart - triggered, when the user starts a column drag.
    Event Detail: dynamic column, string dataField, int index, dynamic originalEvent
  • OnColumnDragging - triggered, when the user drags a column.
    Event Detail: dynamic column, string dataField, int index, dynamic data, dynamic originalEvent
  • OnColumnDragEnd - triggered, when the user drops a column.
    Event Detail: dynamic column, string dataField, int index, int newIndex, dynamic data, dynamic originalEvent
  • OnColumnReorder - triggered, when the user reorders a column.
    Event Detail: dynamic column, string dataField, int index, int newIndex, dynamic data, dynamic originalEvent

Row-related Events

  • OnRowDragStart - triggered, when the user starts a row drag.
    Event Detail: dynamic row, string id, int index, dynamic originalEvent
  • OnRowDragging - triggered, when the user drags a row.
    Event Detail: dynamic row, string id, int index, dynamic data, dynamic originalEvent
  • OnRowDragEnd - triggered, when the user drops a row.
    Event Detail: dynamic row, string id, int index, int newIndex, dynamic data, dynamic originalEvent
  • OnRowReorder - triggered, when the user reorders a row.
    Event Detail: dynamic row, string id, int index, int newIndex, dynamic data, dynamic originalEvent
  • OnRowExpand - triggered, when the user expands a row of the Grid(in TreeGrid/Grouping mode).
    Event Detail: dynamic row, string id, dynamic originalEvent
  • OnRowCollapse - triggered, when the user collapses a row of the Grid(in TreeGrid/Grouping mode).
    Event Detail: dynamic row, string id, dynamic originalEvent
  • OnRowClick - triggered, when the user clicks on a row of the grid.
    Event Detail: dynamic row, dynamic originalEvent, string id, bool isRightClick, int pageX, int pageY
  • OnRowDoubleClick - triggered, when the user double clicks on a row of the grid.
    Event Detail: dynamic row, dynamic originalEvent, string id, bool isRightClick, int pageX, int pageY
  • OnRowResize - triggered, when the user resized a row.
    Event Detail: dynamic row, string id, string oldHeight, string height
  • OnRowTap - triggered when the user touches and holds on the row for at least 300ms.
    Event Detail: dynamic row, dynamic originalEvent

Cell-related Events

  • OnCellClick - triggered, when the user clicks on a cell of the grid.
    Event Detail: dynamic cell, dynamic originalEvent, string id, string dataField, bool isRightClick, int pageX, int pageY
  • OnCellDoubleClick - triggered, when the user double clicks on a cell of the grid.
    Event Detail: dynamic cell, dynamic originalEvent, string id, string dataField, bool isRightClick, int pageX, int pageY
  • OnCellClick - triggered, when the user clicks on a cell of the grid.
    Event Detail: dynamic cell, dynamic originalEvent, string id, string dataField, bool isRightClick, int pageX, int pageY
  • OnCellTap - triggered when the user touches and holds on the cell for at least 300ms.
    Event Detail: dynamic cell, dynamic originalEvent

Other Events

  • OnChange - triggered, when the selection is changed.
    When you select with a drag, the event is triggered when the drag starts and ends.
    Event Detail: bool started, bool finished, Event originalEvent
  • OnOpenColumnDialog - triggered, when the add new column dialog is opened.
    Event Detail: string dataField
  • OnCloseColumnDialog - triggered, when the add new column dialog is closed.
    Event Detail: string dataField
  • OnPage - triggered, when the user changes the pages.
    Event Detail: N/A
  • OnScrollBottomReached -triggered, when the user reaches the bottom of the grid.
    Event Detail: N/A
  • OnScrollTopReached -triggered, when the user reaches the top of the grid.
    Event Detail: N/A