Posted 10 February 2025, 3:02 pm EST
Hi,
Thank you for the response and the sample project. It would give some insight of how to implement it. But my question goes to if it’s possible to save/load the layout when i have set static number of columns used as follow:
[code]
<FlexGrid ItemsSource=“Items” @ref=“Grid” FrozenRows=“1” AutoGenerateColumns=false NewRowPosition=“GridNewRowPosition.Bottom” SelectionMode=“C1.Blazor.Grid.GridSelectionMode.Cell”>
<C1.Blazor.Grid.GridColumn Binding=“BillToCustomer” Header=“BillToCustomer” Width=“150” HorizontalAlignment=“C1HorizontalAlignment.Center” HeaderHorizontalAlignment=“C1HorizontalAlignment.Center” />
<C1.Blazor.Grid.GridColumn Binding=“BuyingGroup” Header=“BuyingGroup” Width=“150” HorizontalAlignment=“C1HorizontalAlignment.Center” HeaderHorizontalAlignment=“C1HorizontalAlignment.Center” />
<C1.Blazor.Grid.GridColumn Binding=“PrimaryContact” Header=“PrimaryContact” Width=“150” HorizontalAlignment=“C1HorizontalAlignment.Center” HeaderHorizontalAlignment=“C1HorizontalAlignment.Center” />
<C1.Blazor.Grid.GridColumn Binding=“Category” Header=“Category” Width=“150” HorizontalAlignment=“C1HorizontalAlignment.Center” HeaderHorizontalAlignment=“C1HorizontalAlignment.Center” />
<C1.Blazor.Grid.GridColumn Binding=“Customer” Header=“Customer” Width=“150” HorizontalAlignment=“C1HorizontalAlignment.Center” HeaderHorizontalAlignment=“C1HorizontalAlignment.Center” />
<C1.Blazor.Grid.GridColumn Binding=“PostalCode” Header=“PostalCode” Width=“150” HorizontalAlignment=“C1HorizontalAlignment.Center” HeaderHorizontalAlignment=“C1HorizontalAlignment.Center” />
<C1.Blazor.Grid.GridColumn Binding="Sales" Header="Sales" Width="100" HorizontalAlignment="C1HorizontalAlignment.Center" HeaderHorizontalAlignment="C1HorizontalAlignment.Center" Aggregate="C1.Blazor.Grid.GridAggregate.Sum" />
<C1.Blazor.Grid.GridColumn Binding="SalesGross" Header="SalesGross" Width="100" HorizontalAlignment="C1HorizontalAlignment.Center" HeaderHorizontalAlignment="C1HorizontalAlignment.Center" Aggregate="C1.Blazor.Grid.GridAggregate.Sum" />
<C1.Blazor.Grid.GridColumn Binding="SalesReal" Header="SalesReal" Width="100" HorizontalAlignment="C1HorizontalAlignment.Center" HeaderHorizontalAlignment="C1HorizontalAlignment.Center" Aggregate="C1.Blazor.Grid.GridAggregate.Sum" />
<C1.Blazor.Grid.GridColumn Binding="DateInic" Header="Date Iniz." Width="100" HorizontalAlignment="C1HorizontalAlignment.Center" HeaderHorizontalAlignment="C1HorizontalAlignment.Center" Format="d"/>
</FlexGridColumns>
[/code]
I also have grouped and sorted the itemsource of the component.
C1DataCollection<Customers> Items = new C1DataCollection<Customers>(new List<Customers>());
public C1.Blazor.Grid.FlexGrid? Grid { get; set; }
protected override async Task OnInitializedAsync()
{
Items = new C1DataCollection<Customers>(Customers.GetCustomers(15));
List<GroupDescription> groupings = new();
List<SortDescription> sortings = new();
groupings.Add(new GroupDescription("BuyingGroup"));
groupings.Add(new GroupDescription("Category"));
groupings.Add(new GroupDescription("Customer"));
sortings.Add(new SortDescription("BuyingGroup", C1.DataCollection.SortDirection.Ascending));
sortings.Add(new SortDescription("Category", C1.DataCollection.SortDirection.Ascending));
await Items.GroupAsync(groupings.ToArray());
await Items.SortAsync(sortings.ToArray());
}
Thank you.