Declined
Last Updated: 15 May 2024 12:09 by ADMIN

Currently using Telerik.DataSource.QueryableExtensions.CreateDataSourceResult() results in queryable.Count() + queryable.Skip(...).Take(...). done seperatelly. EF Core specific tests are already present it seems, based on decompiled code, I can see: "if (!sort.Any() && queryable.Provider.IsEntityFrameworkProvider())". 

Request: Add support for other ORM's that are more capable than EF Core. In case of pagination, window-function could be used to save from extra count query. A short sample bellow:

var dbResults = await queryable
	.Select(x => new {
		Item = x,
		TotalCount = Sql.Ext.Count().Over().ToValue()
	})
	.Skip(() => offset)
	.Take(() => limit)
	.ToListAsync();

var count = dbResults.FirstOrDefault()?.TotalCount ?? 0;
var items = dbResults.Select(x => x.Item);

Read more about Window functions: https://statics.teams.cdn.office.net/evergreen-assets/safelinks/1/atp-safelinks.html 

Declined
Last Updated: 29 Sep 2023 12:32 by ADMIN

<TelerikGrid
        @ref="GridRef"
        TItem="T"
        Pageable="true" 
        Sortable="true" 
        Groupable="true"
        FilterMode="Telerik.Blazor.GridFilterMode.FilterRow"
        Resizable="true" 
        Reorderable="true"
        Height = "auto"
        PageSize="@PageSize"
        OnRead=@ReadData>

...

</TelerikGrid>

 

Declined
Last Updated: 15 Jun 2023 21:58 by ADMIN
Created by: Oodi
Comments: 3
Category: UI for Blazor
Type: Bug Report
0

Hi 

I am trying to do very simple InCell editing of various columns string etc. In my model i have various Decimal? types fields. When i update the grid incell  the

OnUpdate event fires but the property value is always null. Its like its not biding properly. Seems like you have had similar to this bug in previous versions. Seems like a very simple functionality that the grid should support.

Also it doesn't allow me to enter more than 1 digit after this also as if i type a decimal point it jsut clears it.

I have added a video showing this behaviour. 

Please assist.  This is the Grid code below.

 

 @if (_stockOrderLinePOCO != null)
                                    {
                                    <TelerikGrid @ref="_stockOrderLineGrid"
                                                     Width="@AppStateService.ViewPortWidth"
                                                     Height="100%"
                                                     Data=@_stockOrderLinePOCO.Current
                                                     Sortable="@false"
                                                     FilterMode="@GridFilterMode.None"
                                                     Pageable="true"
                                                     Groupable="false"
                                                     PageSize="@AppSettings.Value.DataPageSize"
                                                     Resizable="true"
                                                     Reorderable="false"
                                                     EditMode="GridEditMode.Incell"
                                                     PageChanged="@StockOrderLineGridPageChangedHandler"
                                             OnRowRender="@StockOrderLineGridRowRenderHandler"
                                             OnUpdate="@StockOrderLineGridUpdateHandler" OnEdit="@StockOrderLineGridEditHandler" OnCancel="@StockOrderLineGridCancelHandler" OnDelete="@StockOrderLineGridDeleteHandler" OnStateInit="@((GridStateEventArgs<StockOrderLine> args) => OnStockOrderLineStateInitHandler(args))">
                                            <GridColumns>
                                            @{
                                                    foreach(PropertyInfo prop in (typeof(StockOrderLine)).GetProperties())
                                                    {
                                                        switch (prop.Name)
                                                        {
                                                            case "ID":
                                                                <GridColumn Field=@prop.Name Title=@Localizer["Line"] FieldType=@prop.GetType() Editable="false"> Width="1rem"</GridColumn>
                                                                break;

                                                            case "ProductID":
                                                                <GridColumn Field=@prop.Name Title=@Localizer["Product"] FieldType=@prop.GetType() Editable="true" Width="40rem">
                                                                <Template>
                                                                    @{
                                                                        CurrentlyEditedStockOrderLine = context as StockOrderLine;

                                                                        @CurrentlyEditedStockOrderLine.ProductID  @CurrentlyEditedStockOrderLine.ProductDescription
                                                                    }
                                                                </Template>
                                                                <EditorTemplate>
                                                                    @{
                                                                        CurrentlyEditedStockOrderLine = context as StockOrderLine;

                                                                        <div class="row">
                                                                            <div class="col mr-0">
                                                                                <TelerikComboBox @bind-Value="CurrentlyEditedStockOrderLine.ProductID" Data="@_priceListProducts" TextField="ProductID" ValueField="ProductID" FillMode=@ThemeConstants.DropDownList.FillMode.Outline Filterable="true">
                                                                                    <ItemTemplate Context="subContext">
                                                                                        @subContext.ProductID  @subContext.Description_en_AU
                                                                                    </ItemTemplate>
                                                                                </TelerikComboBox>
                                                                            </div>
                                                                            <div class="col ml-0">
                                                                                <TelerikButton class="mb-0 ml-0" ButtonType="ButtonType.Button" Size="lg" FillMode="outline" Icon="search" @onclick="LookupItem">
                                                                                </TelerikButton>
                                                                            </div>
                                                                        </div>
                                                                    }
                                                                </EditorTemplate>
                                                            </GridColumn>
                                                            break;

                                                        case "ProductDescription":
                                                            <GridColumn Field=@prop.Name Title=@Localizer["Description"] FieldType=@prop.GetType() Editable="true"> </GridColumn>
                                                                break;

                                                        case "QuantityOrdered":
                                                            <GridColumn Field=@prop.Name Title=@Localizer["Qty"] FieldType=@prop.GetType() Editable="true"></GridColumn>
                                                            break;

                                                        case "SalePrice":
                                                            <GridColumn Field=@prop.Name Title=@Localizer["Price"] FieldType=@prop.GetType() Editable="true"></GridColumn>
                                                            break;

                                                        case "Value":
                                                            <GridColumn Field=@prop.Name Title=@Localizer["Amount"] FieldType=@prop.GetType() Editable="false"></GridColumn>
                                                            break;

                                                            default:
                                                                break;
                                                        }
                                                    }

                                                <GridCommandColumn Width="4rem">
                                                        <GridCommandButton Command="Delete" Icon="delete"></GridCommandButton>
                                                    </GridCommandColumn>
                                            }
                                            </GridColumns>
                                        </TelerikGrid>
                                    }

 

Declined
Last Updated: 20 Jun 2023 08:00 by ADMIN
Created by: Katja
Comments: 5
Category: UI for Blazor
Type: Bug Report
0

Hi,

When we use the TelerikDropDownList with a large amount of data (client side) in Blazor, the dropdown takes several seconds to open the popup. (*)
Even with the most simple version of the TelerikDropDownList component:

<TelerikDropDownList Data=@Logic.LuNacebelCodes
                    TextField="DisplayName"
                    ValueField="Id"
                    @bind-Value=@dto.Party.LuNacebelCodeId
                    Filterable="true" FilterOperator="@StringFilterOperator.Contains">
    <DropDownListSettings>
        <DropDownListPopupSettings Height="200px" />
    </DropDownListSettings>
</TelerikDropDownList>

But isn't it strange the same dropdownlist in Kendo for jQuery (AngularJS) with exactly the same dataset, doesn't react slow and opens on the fly..?
Is the DOM manipulation in Blazor that much slower then? 

(*) We know Virtualization fixes this problem, but it has some limitations.

Thanks in advance.

Declined
Last Updated: 09 Jun 2023 11:10 by ADMIN
Created by: Juan Angel
Comments: 2
Category: UI for Blazor
Type: Feature Request
0

Normally, when we develop we try to give a homogeneous behavior to our applications for the user.

This is a uncomfortable when the default behavior of our application does not match those of the Telerik controls because it becomes verbose and repetitive. I look at my code and constantly repeat configurations for the different controls.

For example, in 99% times I use:

<TelerikGrid EditMode="GridEditMode.Inline" /> 
or 
<GridColumn ShowFilterCellButtons="false" TextAlign="ColumnTextAlign.Center" />

{
  "TelerikGrid.EditMode": "GridEditMode.Inline",
  "GridColumn.ShowFilterCellButtons": false,
  "GridColumn.TextAlign": "ColumnTextAlign.Center"
}

<GridCommandColumn Width="90px">
	<div class="text-center">
		<GridCommandButton Command="Edit"   Icon="@SvgIcon.Pencil" />
		<GridCommandButton Command="Delete" Icon="@SvgIcon.Trash" />
		<GridCommandButton Command="Save"   Icon="@SvgIcon.Save" ShowInEdit="true" />
		<GridCommandButton Command="Cancel" Icon="@SvgIcon.Cancel" ShowInEdit="true" />
	</div>
</GridCommandColumn>

Changing "Delete" icon in the whole application seems trivial, but think that you could modify the default behavior homogeneously in the whole application or in part of it if the configuration file had a hierarchical behavior, changing one properpty in one place.

I think it would be a very useful functionality to give homogeneity to an application in a very effective way, without breaking changes and making a less verbose and repetitive code.

 

Thank you for reading me !

Declined
Last Updated: 21 Nov 2023 20:05 by ADMIN
Created by: Haribabu
Comments: 3
Category: UI for Blazor
Type: Bug Report
0

Hi Support Team,

in our project we are using Telerik Chart and has required to update theme of chart from dark to light and light to dark.

telerik chart in child razor page and dark/light button in mainlayout.razor file but telerik chart updating theme when click on button exist telerik chart razor page. as below link  it is an existing issue. 

https://feedback.telerik.com/blazor/1496389-using-custom-themes-changing-at-runtime-does-not-change-the-chart-component-style

please advice how to resolve the issue.

Declined
Last Updated: 21 Jun 2023 11:41 by ADMIN

Right now, when calling the ToDataSourceResult extension method on IQueryable object, the DB is queried using the given filters for example from a DataSourceRequest object. However, if I want to apply complex queries based on those filters, this is not possible unless rewriting the existing extension method to return an IQueryable.

Proposal Example API

var dataSourceRequest = new DataSourceRequest();

DataSourceResultWithQuery dataSourceResultWithQuery = query.ToDataSourceResultWithQuery(dataSourceRequest);

public class DataSourceResultWithQuery : DataSourceResult
{
    [JsonIgnore]
    public IQueryable query { get; set; }
}

 

Is it possible for this to be added as an extension method? I am currently doing this using a custom class that parses the dataSourceRequest class and returning the IQueryable, but it would be nice if this was an included extension method.

Thank you.

Declined
Last Updated: 14 Nov 2023 12:18 by ADMIN
Created by: Kacper
Comments: 3
Category: UI for Blazor
Type: Bug Report
0

Hi, 

During grid initialization I have duplicate OnReadMethod call. I dynmaically set LoadGroupsOnDemand parameter. When LoadGroupsOnDemand  is false and when I skip the second call (I shouldn't do any extra logic to calculate the call number anyway) it works fine. If LoadGroupsOnDemand is true I have to call it twice. With early ending of first call, second OnRender call won't be done. If I do "return" at the begining of second call it returns me an empty grid. 

Similar issue to this one: https://feedback.telerik.com/blazor/1442276-onread-called-twice-on-initialization

Declined
Last Updated: 09 Nov 2023 17:20 by ADMIN
Created by: Nicholas
Comments: 1
Category: UI for Blazor
Type: Feature Request
0

Is it possible to allow the adding of aria-label, aria-labelledby, and aria-describedby to the TelerikForm element?

I noticed that aria-labelledby and aria-describedby were added to input elements here: https://feedback.telerik.com/blazor/1531788-allow-setting-aria-labelledby-and-aria-describedby-attributes-to-the-telerik-inputs - so I assume they could be added to TelerikForm too?

Currently, there doesn't seem to be a way to add those attributes, whereas with the default EditForm we can, and so we're unable to leverage the TelerikForm if we want to provide better descriptive information to non-sighted users with a label and description of the form.

Ideally, we should be able to render any HTML element with global attributes: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes , which would include any of the aria-* tags.

I understand there's a desire to have a locked-down API for components and not allow arbitrary attributes, but I think certain attributes core to accessibility the users of the library should have some ability to manipulate.


Declined
Last Updated: 10 Oct 2023 19:21 by ADMIN

Hi,

I do not think this is a feature yet I am adding it here, so won't put pressure on developers. The problem is that when I add a TelerikGrid inside a TelerikTabStrip it does not adjust well to changes of browser resizing. I have made different ways, like making the siez 100% or dynamic sizing and changing CSS, but each of them may break something. It would be crucial for us if the grid would change well to changes in TelerikTabStrip when its width property is 100%.

Thank you

Declined
Last Updated: 15 Sep 2023 13:02 by ADMIN
Created by: Will
Comments: 1
Category: UI for Blazor
Type: Feature Request
0

Hi!

Would it be possible to expose a focus in/out (or similar) functionality for the Treeview? We currently use the component for eyebrow navigation menus, and it would be nice to have the ability to close trees when the user clicks somewhere else. We've tried doing an onclick for the body of the site, which works but also interferes with other clicks on the page.  Thanks!

Declined
Last Updated: 08 Sep 2022 06:20 by ADMIN
I know this has been a request since a long time ago, I found it in the jQuery version, and I have found that Syncfusion has found a way to handle this specific possibility.

As I'm quite enjoying the rest of the Telerik suite for Blazor, I'd like for this ability to be added in the Scheduler.

There are several ways to handle this, but one of the possible ways is what Syncfusion has done with SetWorkHoursAsync(List<DateTime>, String, String, Nullable<Int32>).

I'm usually showing either a specific day or a week, since my locations are possibly open every day of the week.

I'm currently handling breaks/no possible appointment windows during the work period with an uninteractable appointment, so at least I found a way through that.
Declined
Last Updated: 11 Jul 2023 17:26 by ADMIN
Created by: Aditya
Comments: 1
Category: UI for Blazor
Type: Bug Report
0

Hi Team,

I was implemeting the approach mentioned in the below URL in my Blazor .Net Project

https://github.com/telerik/blazor-ui/tree/master/common/pdf-jpg-export-js

B
ut getting this error while execution, can someone please look into this or help me.

Microsoft.JSInterop.JSException: Could not find 'telerikClientExporter.exportPDF' ('telerikClientExporter' was undefined).
Error: Could not find 'telerikClientExporter.exportPDF' ('telerikclientexporter' was undefined).

 

Declined
Last Updated: 27 May 2024 19:37 by George

See below repl

https://blazorrepl.telerik.com/GeYodYvp135zJH7N22

The first dropdown is populated correctly, it is not in a FormItem or Template

The second one, populated in the same way but inside a FormItem context does not show the data, it only redraws and shows data when entering another control i.e. the other working dropdown.

This was previously working when the application was using .net 6 and Telerik 3.6.1
It has since been updated to .net 8 and Telerik 5.1.1

What is the correct way to populate this?
Can you provide more information?

Thanks.

Declined
Last Updated: 15 Sep 2023 12:21 by ADMIN

It seems to me on a greenfield app where someone wants the ability to switch themes, 99% of the time they would want it site wide, not just on your components. I'd venture a guess that most of us c# .Net devs moving to Blazor, don't have Ed C and your organization's sass skills. If that were built into a template used by your Visual Studio Extension Create Project Wizard it would allow us to focus more on the business logic and probably increase adoption of Theme Builder Pro

 

Thanks,

Kurt

Declined
Last Updated: 28 Apr 2023 12:25 by ADMIN

Setting the FilterDirector directly:

Setting FilterDescriptor via SearchText:



Our search box is a custom TelerikTextbox not part of the grid, but essentially the same functionality as the built-in search box.

To test, use this code:
https://docs.telerik.com/blazor-ui/components/grid/filter/searchbox#customize-the-searchbox
But add it to FilterDescriptor immediately rather than setting SearchFilter like on the link.

 

This is the only instance of this on our site, and all of our grids use the exact same code via a generic method, on our object that controls the grid we have a custom empty attribute to dictate whether a column should be filterable via our textbox.

Declined
Last Updated: 30 Aug 2022 15:09 by ADMIN
Created by: n/a
Comments: 1
Category: UI for Blazor
Type: Feature Request
0
Telerik Blazor charts are fine for some use cases but D3.js is much more powerful visualization library, could you provide blazor components/interops easily use D3.js in blazor?
Declined
Last Updated: 07 Aug 2023 11:39 by ADMIN

If I create a <TelerikGrid> whose Data property is set to a collection of 'object' (actual type not known at compile time, only at runtime), I can create <GridColumn> components for each property through e.g.

@{
   IEnumerable<PropertyInfo> props = GetModelType().GetProperties();
   foreach (PropertyInfo prop in props)
   {
      string propName = prop.Name;
      <GridColumn Field="@propName" ... />
   }
}
@code {
   private Type GetModelType()
   {
      Type modelType = ...; // code determines the type of model at runtime ...
      return modelType;
   }
}

This works fine if the grid's EditMode is GridEditMode.Popup. When editing a row, the popup dialog properly displays each column header and value and binds correctly.

However, this does not work if the EditMode is GridEditMode.Inline nor GridEditMode.Incell. When placing the row in edit mode, no editor control appears at all, and the value in the cell is displayed as blank.

The design of the grid component thus only works well when given a known type at compile time, or one is constrained to always use Popup edit mode due to this flaw.

In addition to a request to fix this, it would also be great if the grid could be passed a Type (a runtime type, not a class name) to use for generating columns  automatically, rather than having to resort to developers having to use reflection to generate grid columns themselves.

For instance,
<TelerikGrid T="@GetModelType()" ...> should invoke the GetModelType() method which would return a type at runtime, not necessarily known at compile time. Currently T can only be set to a hard-coded type name such as "Employee".

Declined
Last Updated: 12 Oct 2022 05:29 by ADMIN
Created by: Aleksandr
Comments: 1
Category: UI for Blazor
Type: Bug Report
0
Declined
Last Updated: 19 Jul 2023 14:24 by Nicholas
Created by: Nicholas
Comments: 4
Category: UI for Blazor
Type: Feature Request
0

In TreeView the selected and checked items have to be provided as IEnumerable<object>.  This can make things a bit of a pain if you have for example outside events that are also trying to change the list of checked items. Not insurmountable or hard but just a pain.

For example to remove an item since IEnumerable is immutable you to have to completely re-assign the collection.  SelectedItems = SelectedItems.Where[Some condition] .  Instead of SelectedItems.Remove, add etc.

I realize the reasons you are binding to IEnumerable<object> and not using generics 

I propose adding "CheckedField" and "SelectedField" in your observable treeview binding and then we would not have to pass in Checked / Selected Items at all and just bind those fields to the Data we are passing in.  Make life a lot easier.

The same thing likely applies to some other controls that have the same problem.  So keep it consistent.