Reorder Columns
Smart.Grid allows you to select which columns can be reordered.
To enable reordering set the column's AllowReorder
property to true:
@inject WeatherForecastService ForecastService <Grid DataSource="@forecast" > <Columns> <Column DataField="Date" Label="Date" AllowReorder="true"> </Column> <Column DataField="TemperatureC" Label="Temp. (C)" AllowReorder="true"> </Column> <Column DataField="TemperatureF" Label="Temp. (F)" AllowReorder="true"> </Column> <Column DataField="Summary" Label="Summary" AllowReorder="true"> </Column> </Columns> </Grid> @code{ private WeatherForecast[] forecast; protected override async Task OnInitializedAsync() { forecast = await ForecastService.GetForecastAsync(DateTime.Now); } }
Then you need to enable AllowColumnReorder of the Grid using the GridBehavior object.
<Grid DataSource="@forecast" Behavior="gridBehavior"> .... </Grid> @code{ GridBehavior gridBehavior = new GridBehavior(){ AllowColumnReorder = true }; .... }
ReorderColumns() Method
Smart.Grid allows you to programmatically change the order of a column.
The ReorderColumns()
function admits 3 arguments -
dataField
- The data field or column index of the column you wish to move
referenceDataField
- The data field or column index of the second grid column
referenceDataField
(optional) - Determines whether to insert the first column after the reference
column
<Button OnClick="ChangeOrder">Change Order</Button> <Grid @ref="grid" DataSource="@forecast" Behavior="gridBehavior"> .... </Grid> @code{ Grid grid; private void ChangeOrder(){ grid.ReorderColumns("Summary","TemperatureC"); } .... }