@using Syncfusion.Blazor.Grids
@page "/development/gridexample"
<SfButton @onclick="HideColumn" CssClass="e-flat" IsToggle="true" IsPrimary="true" Content="test"></SfButton>
<SfGrid DataSource="@Orders" Height="315" @ref="grid">
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) @ref="firstCol" HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn>
<GridColumn Field=@nameof(Order.OrderDate) HeaderText="Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn>
<GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right" Width="120"></GridColumn>
</GridColumns>
</SfGrid>
@code{
public List<Order> Orders { get; set; }
public SfGrid<Order> grid { get; set; }
public GridColumn firstCol { get; set; }
public bool Visible { get; set; }
protected override void OnInitialized()
{
Orders = Enumerable.Range(1, 75).Select(x => new Order()
{
OrderID = 1000 + x,
CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)],
Freight = 2.1 * x,
OrderDate = DateTime.Now.AddDays(-x),
}).ToList();
}
private async Task HideColumn()
{
var columnList = await grid.GetColumns();
var firstColumn = columnList.First();
firstColumn.SetVisibility(false);
firstColumn.Visible = false;
await grid.RefreshColumns();
}
public class Order {
public int? OrderID { get; set; }
public string CustomerID { get; set; }
public DateTime? OrderDate { get; set; }
public double? Freight { get; set; }
}
}
|
@code{
...
private async Task HideColumn()
{
var columnList = await grid.GetColumns();
var firstColumn = columnList.First();
await grid.HideColumns(firstColumn.HeaderText);
}
...
}
|