
Blazor .Net 7
I have the following TelerikListView. When the user changes the TelerikTextBox Cidr value I want to handle the ValueChanged event however when I do this, I need to update the underlying model object manually. I am stuck. When the TelerikListView is in edit mode, either for a new element or for an existing element I can't figureout how to reference the element correctly in the ValueChanged event handler. I know I need to update the model manually but I am not sure how. Any hints?
<TelerikListView Data="@SubnetList" Width="700px" Pageable="true"
OnCreate="@CreateHandler" OnDelete="@DeleteHandler" OnUpdate="@UpdateHandler"
OnEdit="@EditHandler" OnCancel="@CancelHandler">
<HeaderTemplate>
<h2>Subnet List</h2>
<ListViewCommandButton Command="Add" Icon="@FontIcon.Plus">Add Subnet</ListViewCommandButton>
</HeaderTemplate>
<Template>
<div class="listview-item">
<h4>@context.Cidr</h4>
<ListViewCommandButton Command="Edit" Icon="@FontIcon.Pencil">Edit</ListViewCommandButton>
<ListViewCommandButton Command="Delete" Icon="@FontIcon.Trash">Delete</ListViewCommandButton>
</div>
</Template>
<EditTemplate>
<div style="border: 1px solid green; margin: 10px; padding: 10px; display: inline-block;">
<TelerikFloatingLabel Text="CIDR">
<TelerikTextBox Id="Cidr" ValueChanged="@CidrValueChangedHandler" />
</TelerikFloatingLabel><br />
<ListViewCommandButton Command="Save" Icon="@FontIcon.Save">Save</ListViewCommandButton>
<ListViewCommandButton Command="Cancel" Icon="@FontIcon.Cancel">Cancel</ListViewCommandButton>
</div>
</EditTemplate>
</TelerikListView>
@code {
private List<Models.Subnet> SubnetList = new List<Models.Subnet>();
protected override async Task OnInitializedAsync()
=> SubnetList = await SubnetService.GetAllAsync();
private void CidrValueChangedHandler(string theUserInput)
{
// manually update the model here
// calculate subnet properties here to help the user select size the subnet
// correctly by selecting the number of bits in the network side of the mask
// # number of hosts, etc.
}
async Task GetListViewData()
=> SubnetList = await SubnetService.GetAllAsync();
}
Good Day,
I have been implementing drag&drop functionality between two Telerik Blazor grids using different data models. Using the documentation article as a reference below, I am able to get 2 models (derived from the same interface) to drag between 2 grids.
How to Drag and Drop Different Models between Multiple Grids - Telerik UI for Blazor
However, grid functions such as sorting and filtering start throwing errors, when unique fields are introduced per model. To re-produce, start with the demo code in the artcile and try and sort "Unique Field 1". This throws an exception: "Unhandled exception rendering component: Invalid property or field - 'UniqueField1' for type: IParentSampleData". See screenshot attached.
This makes sense, but it's very limiting. My question is, if this can "worked around" in any way.
I have tried to intercept the "StateChanged" event. But as I still need to call gridObj.SetStateAsync(args.GridState), I cannot circumvent the issue. As per the error, I assume that these Grid methods use the interface definition and not the actual model instance to determine available properties for filtering & sorting, etc.
Is there somethig I am missing? Would anyone have any experience with this scenario and could point me in the direction of a "work around" if one exists?
Many thanks,
Peter


I'm using a chart with BaseUnit="ChartCategoryAxisBaseUnit.Fit"
Aggregate="ChartSeriesAggregate.Sum", Type="ChartCategoryAxisType.Date"
When clicking on a series it returns a single date (day) and not the date range that were used for the aggregation.
I need the range in order to show the full result list in a grid.
How can it be done?
Is this possible?
I have seen the documentation on highlighting rows, but I haven't seen anything around getting a row to highlight outside of row selection and checkbox selection.
