Duplicated
Last Updated: 04 Aug 2023 07:42 by ADMIN

Per API documentation, the Decimals property defaults to what is set in the user's region (culture). This is a flawed design.

Why would one think that ALL properties of type double or float in grid models should be truncated to 2 decimal places (when my region is set to US and that is the default)?

This seriously limits property values. Not everything is a dollar and cent value! The region setting I believe is for how to format general currency values perhaps (I am not exactly sure what it is for, because there is a different tab for 'Currency' with a 'No. of digits after decimal' setting as well as the tab for 'Numbers' having the same thing. But this does not mean that Windows always formats numbers that way.

Suppose for example I have a property in my model named "Weight" (expressed in terms of pounds). The value 150.12345 (pounds) is perfectly valid. It should not be truncated to 150.12. Or another, "Length" (expressed in terms of Feet): 17.0625 (that's 17 feet, 1 inch) - should not be morphed into 17.06.

To work around this, developers currently either have to override a <GridColumn>'s <EditorTemplate> and place a <TelerikNumericTextBox> element bound to the same property that the <GridColumn> is, and explictly set the Decimals property themselves.

Or what I have found is a better workaround, although not desirable to have to do this at all, is to put this kind of code snippet in the Program.cs file, right after the line var app = builder.Build();

app.UseRequestLocalization(action =>
{
   var currentCulture = CultureInfo.CurrentCulture.Clone() as CultureInfo;
   currentCulture!.NumberFormat.NumberDecimalDigits = 10; // for example, to allow this many decimal places in everything numeric
   var cultures = new List<CultureInfo>() { currentCulture };
   action.SupportedCultures = cultures;
});

Please remove the default value for the Decimals property being tied to the culture. It should just allow as many decimal places as a normal float or double would allow for its precision. Perhaps just allow a developer to set it and honor that, but if not set, basically let it be unlimited, just like the number of digits to the left of the decimal point.

Duplicated
Last Updated: 26 Jul 2023 13:14 by ADMIN
I have been using Telerik Data Grid, When the total count of record in the grid is equals to the pagination options(5, 10, 20), the blank value is selected in the page size dropdown. I have total data record of 10, for the first time the page size is showing, when I select the 20 and again select 10 it disappears.

Repl demo link: https://blazorrepl.telerik.com/cROhmgvP088tMZDF58 

Completed
Last Updated: 04 Aug 2023 13:19 by ADMIN
Release 4.5.0 (08/30/2023) (R3 PI2)
Created by: Peili
Comments: 1
Category: UI for Blazor
Type: Bug Report
1

My grid bind to ExpandoObjects, and I would like to implement a Group Header.

So I referenced these two documents
https://docs.telerik.com/blazor-ui/knowledge-base/grid-binding-to-expando-object

https://docs.telerik.com/blazor-ui/components/grid/columns/multi-column-headers

 

From the first document, it make sense to me that we need to set FieldType for each column that binds to ExpandoObject, but it seems this restriction also applies to the group header column, which does not make sense.

Foe example:

<TelerikGrid Data="@GridData"
             Pageable="true"
             Sortable="true"
             FilterMode="@GridFilterMode.FilterRow">
    <GridColumns>
        <GridColumn Title="Test Group Header">
            <Columns>
                <GridColumn Field="PropertyInt" Title="Int Column" FieldType="@typeof(int)" />
                <GridColumn Field="PropertyString" Title="String Column" FieldType="@typeof(string)" />
                <GridColumn Field="PropertyDate" Title="DateTime Column" FieldType="@typeof(DateTime)" />
            </Columns>
        </GridColumn>
    </GridColumns>
</TelerikGrid>

 

I get error:

 

I need to set FieldType on the "Test Group Header" column to an arbitrary value to get rid of this error.

 

Completed
Last Updated: 27 Jul 2023 11:39 by ADMIN
Created by: Nolan
Comments: 1
Category: UI for Blazor
Type: Feature Request
0
It would be nice to have a Popup Editing feature for the ListView component, similar to the Grid component. 
Duplicated
Last Updated: 31 Jul 2023 08:56 by ADMIN
Created by: Ivaylo
Comments: 1
Category: UI for Blazor
Type: Bug Report
5

Hello there,

I encountered an issue with the TelerikForm component after upgrading Telerik.UI.for.Blazor from version 4.0.1 to 4.4.0. In the code below I have placed the two form items in a Bootstrap grid:

<TelerikForm Model="@person">
    <FormValidation>
        <DataAnnotationsValidator></DataAnnotationsValidator>
    </FormValidation>
    <FormItems>
        <div class="row">
            <div class="col-md-6">
                <FormItem Field="@nameof(Person.Id)" LabelText="Id"></FormItem>
            </div>
            <div class="col-md-6">
                <FormItem Field="@nameof(Person.FirstName)"
                        EditorType="@FormEditorType.TextArea"
                        LabelText="First name">
                </FormItem>
            </div>
        </div>
    </FormItems>
</TelerikForm>

With version 4.0.1, the two fields were displayed in two columns within the form element. However, with version 4.4.0, I noticed that the HTML code, specifically the div elements, are now rendered outside of the form element. The HTML structure looks like this:

<div class="row">
	<div class="col-md-6">
	</div>
	<div class="col-md-6">
	</div>
</div>
<form class="k-form telerik-blazor k-form-md" dir="ltr" style="">
	<div class="k-form-field">
		<label class="k-label k-form-label" for="a6cc8103-4d52-4377-8656-169e4a3de33a">
            Id
		</label>
		<div class="k-form-field-wrap">
......

I wanted to check with you if this change is intentional or if it might be a bug with the TelerikForm component in the latest version.

Best regards,

Ivaylo

 

Duplicated
Last Updated: 17 Jul 2023 08:24 by ADMIN
Created by: Miroslav
Comments: 0
Category: UI for Blazor
Type: Feature Request
0

Hello,

I need to perform some tasks in case of pressing some keyboard shortcuts. For example when a user press Alt+Enter key combination. But it seems that your grid catches this key combination as well and performs its action (Editing the current cell and jumping to the next one below). How can I suppress this behavior please? Maybe not just for this key combination but more generally.

I attached a small sample to better demonstrate the problem. Just run the sample please, focus some cell in the grid and press Alt+Enter.

Very thanks.

Miroslav

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.

Duplicated
Last Updated: 24 Jul 2023 07:27 by Mark

Unexpected scroll behaviour is seen after selecting an item in a DropDownList/Multiselect with a scroll mode set to virtualise. We are unable to easily scroll upwards using the scroll bar in the control or using a mouse/trackpad. The scroll position immediately snaps back to the selected item. Sometimes we are able 'escape' this by rapidly scrolling but this does not feel like intended behaviour.

Downward scrolling seems okay and using the keyboard arrow keys also seems unaffected. This is reproducible on the demo page: Blazor DropDownList - Virtualization - Telerik UI for Blazor and https://docs.telerik.com/blazor-ui/components/multiselect/virtualization.

Reproduction steps on Chrome:

  1. Navigate to demo page and render local example preview
  2. Select item "Name 27"
  3. try to scroll up with the arrow buttons on the scrollbar or the mouse wheel

Minimal reproducible example: Blazor MultiSelect - Virtualization - Telerik UI for Blazor

 

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).

 

Need More Info
Last Updated: 05 Jul 2023 08:24 by ADMIN

Please add the option for the Multiselect to filter the same way the DropDownList does. It's very odd & confusing for end users (and bad UX) in a UI toolkit for similar controls to do things in different ways. Can you please add the ability for the Multiselect control to filter items in the popup window the same way the DropDownList does with the nice filter text box.

Unplanned
Last Updated: 28 Jun 2023 20:19 by Sebastiaan
Created by: Sebastiaan
Comments: 0
Category: UI for Blazor
Type: Feature Request
5
Please include symbols in the package to support source-level debugging by which the developer can either have the source code downloaded automatically or download it separately and point the debugger to the source code.
Completed
Last Updated: 20 Nov 2023 08:22 by ADMIN

https://demos.telerik.com/blazor-ui/form/templates

When you edit in Telerik Repl, you get a warning message:

What was weird though, is when I ran it from directly from the link in the documentation, I didn't get an error.  I made one small change to the code (swapped line 54 and 55 (just seeing if I could change the rendering order, which I can) and then I saw this warning.  But any change to the code generates the warning.

Peter

Need More Info
Last Updated: 03 Jul 2023 16:36 by Víctor
Created by: Flavio
Comments: 2
Category: UI for Blazor
Type: Feature Request
2

Are you thinking about developing an app builder for Blazor to create a project and add telerik component and finally export it as Blazor app (server or wasm)?

(like this one develop from Infragistics https://appbuilder.indigo.design/app/)
This tool export every single page as razor page.

BR,

Flavio

Duplicated
Last Updated: 13 Nov 2023 16:23 by ADMIN

I would like to be able to set the aria-required or the required HTML attribute to the input components in the Telerik UI for Blazor suite. This is needed because currently, the screen readers do not notify the users of the application that an input is required. 

Duplicated
Last Updated: 30 Jun 2023 05:35 by ADMIN
Created by: Mark
Comments: 2
Category: UI for Blazor
Type: Feature Request
6

Is there any scope to add a Blazor Ranged Bar/Column Chart component as seen in other products:

We attempted to work around this by adding an invisible stacked series underneath our dataset. However, without the Ability to customize the highlighted/hovered series item (telerik.com), we are not able to effectively hide the invisible series from the user. We will have to fall back into the jQuery Kendo UI components once again. Alternatively, are there any other known work arounds to achieve this in Blazor?

Unplanned
Last Updated: 16 Jun 2023 07:02 by ADMIN
Created by: Dialog
Comments: 2
Category: UI for Blazor
Type: Feature Request
7

I'd like to use the adaptive rendering but I also need to keep AllowCustom feature.

===

ADMIN EDIT

===

This request applies to all components that support AllowCustom feature and adaptive rendering: for example, ComboBox, MultiColumnComboBox.

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: 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: 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: 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>
                                    }