How to get expanded row or rows in SfGrid?
<SfGrid AllowResizing="true" ID="GrdProvidersList" @ref="GridProvidersList" DataSource="@ProvidersList" AllowPaging="true" AllowSorting="true" AllowExcelExport="true" Toolbar="@(new List<string>() { "ExcelExport", "Add", "Edit", "Delete", "Update", "Cancel"})">
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Normal" ShowDeleteConfirmDialog="true" />
<GridEvents OnToolbarClick="ToolbarClickHandler" TValue="ProvidersListModel"
OnActionBegin="Begin"></GridEvents>
<GridPageSettings PageSize="20"></GridPageSettings>
<GridTemplates>
<DetailTemplate>
@{
ProvidersListModel item = context as ProvidersListModel;
<div style="padding: 25px">
<SfGrid DataSource="item.ProviderAddresses" ID="GrdProvidersAddressList" @ref="GrdProviderAddressList" AllowPaging="true" AllowSelection="true"
Toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Update", "Cancel"})">
<GridPageSettings PageSize="20"></GridPageSettings>
<GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true" Mode="EditMode.Batch" ShowConfirmDialog="true"
NewRowPosition="NewRowPosition.Top"
ShowDeleteConfirmDialog="true"></GridEditSettings>
<GridEvents TValue="ProviderAddress"
OnBatchSave="ProviderAddressBatchSave"></GridEvents>
<GridColumns>
<GridColumn Field=@nameof(ProviderAddress.Id) HeaderText="ID" Width="50" IsPrimaryKey="true" Visible="false" />
<GridColumn Field=@nameof(ProviderAddress.City) HeaderText="City" Width="50" />
<GridColumn Field=@nameof(ProviderAddress.State) HeaderText="State" Width="50" />
<GridColumn Field=@nameof(ProviderAddress.ZipCode) HeaderText="ZipCode" Width="50" />
<GridColumn Field=@nameof(ProviderAddress.StreetLine1) HeaderText="Street Line 1" Width="50" />
<GridColumn Field=@nameof(ProviderAddress.StreetLine2) HeaderText="Street Line 2" Width="50" />
<GridColumn Field=@nameof(ProviderAddress.CompleteAddress) HeaderText="Address" Width="50" />
</GridColumns>
</SfGrid>
</div>
}
</DetailTemplate>
</GridTemplates>
<GridColumns>
<GridColumn HeaderText="ID" Field="@nameof(ProvidersListModel.ProviderId)" Visible="false" IsPrimaryKey="true" />
<GridColumn HeaderText="Name" Field="@nameof(ProvidersListModel.ProviderName)" Width="200px" EditType="EditType.DefaultEdit" />
<GridColumn HeaderText="Facility Name" Field="@nameof(ProvidersListModel.FacilityName)" Width="200px" EditType="EditType.DefaultEdit" />
<GridColumn HeaderText="Product" Field="@nameof(ProvidersListModel.Product)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="Patient Type" Field="@nameof(ProvidersListModel.PatientType)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="Languages Spoken" Field="@nameof(ProvidersListModel.LanguagesSpoken)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="New Patient Accepted" Field="@nameof(ProvidersListModel.PatientType)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="Certification" Field="@nameof(ProvidersListModel.Certification)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="Email" Field="@nameof(ProvidersListModel.Email)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="Cellnumber" Field="@nameof(ProvidersListModel.Cellnumber)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="OfficeNumber" Field="@nameof(ProvidersListModel.OfficeNumber)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="TimeZone" Field="@nameof(ProvidersListModel.TimeZone)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
<GridColumn HeaderText="AcceptedInsurance" Field="@nameof(ProvidersListModel.AcceptedInsurance)" Width="100px" EditType="EditType.DefaultEdit" AllowResizing="true" />
</GridColumns>
</SfGrid>Let me know which event to override in order to get expanded Row or Rows.
|
<SfButton OnClick="Exp" Content="Expand All Details"></SfButton>
<SfGrid @ref="Grid" DataSource="@Employees" Height="315px">
. . . . . .. . . .
</SfGrid>
@code{
SfGrid<EmployeeData> Grid { get; set; }
public async Task Exp()
{
int[] expanded = await Runtime.InvokeAsync<int[]>("expandedRows", Grid.ID);
}
[rowdetails.js]
|
Thanks for reply!
Actually we are trying to Batch Edit Master Detail Grid. For single level Grid it is easy, but when there is master detail Grid it becomes tricky. Can you please provide any example of Batch Edit of Master Detail Grid. Specially Grid with expandable rows.
Thanks
Hi,
is it also possible to expand specific rows by javascript?
By default all groups are collapsed after data loaded
I also know that there is a function to expand all groups but I only want to expand the first group column.
And if possible it would be nice to keep them expanded even if a scroll, sort, ... action was performed
Thanks
|
@inject IJSRuntime Runtime
<SfGrid @ref="Grid" DataSource="Orders" AllowSorting="true" AllowFiltering="true" AllowGrouping="true">
<GridEvents DataBound="OnDataBound" TValue="Order"></GridEvents>
<GridGroupSettings Columns="@Cols"></GridGroupSettings>
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" IsPrimaryKey="true" TextAlign="@TextAlign.Center" Width="140"></GridColumn>
</GridColumns>
</SfGrid>
@code{
SfGrid<Order> Grid { get; set; }
public string[] Cols = new string[] { "CustomerID" };
public List<Order> Orders { get; set; }
public async Task OnDataBound()
{
//to collapse all the groups.
await Grid.GroupCollapseAll();
//send gridid, grouped column name and values of particular group you want to expand.
await Runtime.InvokeVoidAsync("ExpandGroup", Grid.ID);
}
[Host.cshtml]
[GroupExpand.js]
|