Unplanned
Last Updated: 23 Oct 2021 10:23 by Andrew
Created by: Andrew
Comments: 1
Category: Grid
Type: Feature Request
1

I would like to set increase the searchbox width with a parameter.

---

ADMIN EDIT

Here is a CSS workaround:

 

<style>
    .custom-searchbox-width .k-grid-search {
        width: 50%;
    }
</style>

<TelerikGrid Data=@GridData Pageable="true" Height="400px" Class="custom-searchbox-width">
    <GridToolBar>
        <span class="k-toolbar-spacer"></span> @* add this spacer to keep the searchbox on the right *@
        <GridSearchBox />
    </GridToolBar>
    <GridColumns>
        <GridColumn Field="@(nameof(Employee.EmployeeId))" />
        <GridColumn Field=@nameof(Employee.Name) />
        <GridColumn Field=@nameof(Employee.Team) Title="Team" />
        <GridColumn Field=@nameof(Employee.IsOnLeave) Title="On Vacation" />
    </GridColumns>
</TelerikGrid>

@code {
    public List<Employee> GridData { get; set; }

    protected override void OnInitialized()
    {
        GridData = new List<Employee>();
        var rand = new Random();
        for (int i = 0; i < 15; i++)
        {
            GridData.Add(new Employee()
            {
                EmployeeId = i,
                Name = "Employee " + i.ToString(),
                Team = "Team " + i % 3,
                IsOnLeave = i % 2 == 0
            });
        }
    }

    public class Employee
    {
        public int EmployeeId { get; set; }
        public string Name { get; set; }
        public string Team { get; set; }
        public bool IsOnLeave { get; set; }
    }
}

 

---

Planned
Last Updated: 22 Oct 2021 05:25 by ADMIN
Scheduled for 2.30.0

By the following steps, the problem occurs:

  1. Click on line number 1 to focus the row
  2. Press the Down-Key 19 times to navigate to line 20
  3. Try to navigate to line 21 via the Down-Key
  4. -> No navigation possible via keyboard to the lines below
  5. Try to navigate backwards via Up-Key to line 1
  6. -> Navigation stops at line 15


So, it not possible to navigate through the whole grid with virtualized rows when Navigable=true





@* Scroll the grid instead of paging *@

<TelerikGrid Data=@GridData
             ScrollMode="@GridScrollMode.Virtual" Navigable="true"
             Height="480px" RowHeight="60" PageSize="20"
             Sortable="true" FilterMode="@GridFilterMode.FilterMenu">
    <GridColumns>
        <GridColumn Field="Id" />
        <GridColumn Field="Name" Title="First Name" />
        <GridColumn Field="LastName" Title="Last Name" />
        <GridColumn Field="HireData" Width="200px">
            <Template>
                @((context as SampleData).HireDate.ToString("MMMM dd, yyyy"))
            </Template>
        </GridColumn>
    </GridColumns>
</TelerikGrid>

@code {
    public List<SampleData> GridData { get; set; }

    protected override async Task OnInitializedAsync()
    {
        GridData = await GetData();
    }

    private async Task<List<SampleData>> GetData()
    {
        return Enumerable.Range(1, 1000).Select(x => new SampleData
        {
            Id = x,
            Name = $"name {x}",
            LastName = $"Surname {x}",
            HireDate = DateTime.Now.Date.AddDays(-x)
        }).ToList();
    }

    public class SampleData
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string LastName { get; set; }
        public DateTime HireDate { get; set; }
    }
}

  
Under Review
Last Updated: 21 Oct 2021 13:14 by ADMIN
Created by: Tom
Comments: 1
Category: Grid
Type: Bug Report
0

GridCheckBoxColumn:  The check disappears when focus is on a editable cell.

    <TelerikGrid Class=k-grid 
                 Data="@adherenceAgents" 
                 EditMode="@GridEditMode.Incell"
                 Height="150px"
                 SelectionMode="@GridSelectionMode.Single">
                    
        <GridColumns>
            <GridCheckboxColumn SelectAll="false" Title="Select" Width="70px" />
            <GridColumn Field="@(nameof(AdherenceAgent.Scheduled))" Editable="false" Title="Scheduled" />
            <GridColumn Field="@(nameof(AdherenceAgent.EmployeeId))" Editable="false" Title="Employee ID" />
            <GridColumn Field="@(nameof(AdherenceAgent.Name))" Editable="false" Title="Name" />
            <GridColumn Field="@(nameof(AdherenceAgent.AchievedAdherences))" Title="Points" />
            <GridColumn Field="@(nameof(AdherenceAgent.PossibleAdherences))" Title="Possible" />
            <GridColumn>
                <HeaderTemplate>Adherence<br/>Score</HeaderTemplate>
            </GridColumn>
         </GridColumns>
    </TelerikGrid>

 

Unplanned
Last Updated: 20 Oct 2021 13:26 by ADMIN

When using the TelerikCheckBoxListFilter component in a FilterMenuTemplate, it does render a checkbox with a blank label, but selecting it does not generate a filter descriptor.

For reference, the built-in CheckBoxList filtering correctly filters null values.

Duplicated
Last Updated: 20 Oct 2021 13:14 by Srihari
Created by: Srihari
Comments: 3
Category: Grid
Type: Feature Request
1
Hi, please expose the debounce delay as a property of TelerikGrid so we can set how soon virtualized columns are loaded after the user scrolls. Thank you.
Duplicated
Last Updated: 20 Oct 2021 10:57 by ADMIN

When storing and restoring grid state, the selected page size is not included as part of that state currently, and needs to be stored seperately.

(When using GridPagerSettings, the user can select the page size based on inputs provided to PageSizes param. This selection is not synced and will revert to default each time the grid is loaded.

Declined
Last Updated: 20 Oct 2021 06:20 by ADMIN
Created by: Jeremy
Comments: 1
Category: Grid
Type: Feature Request
0

I'd like to be able to enable the Column Chooser menu on just the Command Column and then keep all the other column menus as-is (I have a combination of various custom filter controls on them, so I don't watch to switch to the Column Menu)

Unplanned
Last Updated: 19 Oct 2021 14:06 by Srihari

Hi, please expose a property in TelerikGrid where we can set the number of virtual columns to load in advance. A lot of times we would like to load data in advance for 5-10 columns left & right of the current viewport, so the user doesn't see empty columns while scrolling. This may apply to rows as well. It would be very helpful to have this property, please consider exposing it. Thank you.

============

ADMIN EDIT

============

The column Virtualization feature improves the Grid performance when it has a lot of columns. This does not include loading data on demand, but rather UI virtualization. All the data is retrieved and the performance optimization is achieved by rendering only the columns for the current Grid viewport. When the user scrolls horizontally the content for the other columns is rendered and while this happens, the cells appear empty. The requested parameter will control the number of columns that will be rendered in the current viewport but will not be visible until the user scrolls. Thus, the user will not see empty columns.

Planned
Last Updated: 19 Oct 2021 09:30 by ADMIN
Scheduled for 2.28.0

When you shrink a Grid column, ellipsis is rendered to represent the clipped text. However, at some point of resizing the Column menu and Filter menu indicators are overlapping the Grid column header text.

 

==========

ADMIN EDIT

==========

In the meantime, a possible workaround would be to use some custom CSS to add right padding to the k-link span, so it does not get overlapped by the column menu icon. That padding should be approximately as wide as the span holding the column menu icon. You can also set a custom CSS class to the Grid through its Class parameter to make sure you are styling this exact instance of the Grid and not all instances on the page/app. The example below demonstrates how to achieve the described approach.

 

 

<style>
    .my-grid .k-link {
        padding-right: 40px;
    }
</style>

<TelerikGrid Data="@MyData"
             Class="my-grid"
             Pageable="true"
             PageSize="5"
             FilterMode="@GridFilterMode.FilterMenu"
             Sortable="true"
             Resizable="true"
             ShowColumnMenu="true">
    <GridColumns>
        <GridColumn Field="@(nameof(SampleData.Id))" Width="80px" />
        <GridColumn Field="@(nameof(SampleData.Name))" Title="Employee Name"/>
        <GridColumn Field="@(nameof(SampleData.Team))" Title="Team" />
        <GridColumn Field="@(nameof(SampleData.HireDate))" Title="Hire Date" />
    </GridColumns>
</TelerikGrid>

@code {
    public IEnumerable<SampleData> MyData = Enumerable.Range(1, 30).Select(x => new SampleData
    {
        Id = x,
        Name = "name " + x,
        Team = "team " + x % 5,
        HireDate = DateTime.Now.AddDays(-x).Date
    });

    public class SampleData
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Team { get; set; }
        public DateTime HireDate { get; set; }
    }
}

 

 

Completed
Last Updated: 19 Oct 2021 08:16 by ADMIN
Release 2.28.0
Created by: Oliver
Comments: 0
Category: Grid
Type: Bug Report
8

When I switch the culture of my App from English to Swedish, the Virtual scrolling feature of the Grid breaks. 

===========

ADMIN EDIT

===========

The issue stems from invalid transform style applied to the k-virtual-position div element in Swedish culture. Due to integer to string conversion that takes culture into consideration when setting the style and/or data-translate attribute, when this number is < 0, the negative sign is longer dash for Swedish culture. This longer dash is not parsable by JS and CSS which is why the translateY transform is invalid.

As a workaround for the time being, you can try adding transform style for the k-virtual-position div, so you can override the default one and the correct dash will be applied: 

<style>
    .k-virtual-position {
        transform: translateY(-1080px);
    }
</style>

 

 

 

Unplanned
Last Updated: 18 Oct 2021 19:04 by ADMIN

Sometimes, we just want a simple equal filter in grid, without operators options

---

ADMIN EDIT

If you want to modify the current behavior and layout of the filters, use the filter template (there is another example in this thread - in the post from 29 Jun 2020 that you can also use as base).

---

Under Review
Last Updated: 18 Oct 2021 14:33 by ADMIN
Created by: Robert
Comments: 2
Category: Grid
Type: Feature Request
0

I suggest adding a FieldExpression property to the GridColumn so a developer would not need to create view models and templates for simple transformations of the existing model's properties. The field expression would be used for filtering and sorting as well. Its type would be Func<T, object> or Expression<Func<T, object>>.

 

   <TelerikGrid Data="@Persons">
            <GridColumns>
                <GridColumn FieldExpression="@(p => p.FirstName + " " + p.LastName)" />
            </GridColumns>
        </TelerikGrid>

Planned
Last Updated: 15 Oct 2021 09:15 by ADMIN
Scheduled for 2.28.0
Currently, in Incell EditMode the Telerik Grid is triggering the crud events per row. Firing the events on every cell will give the control to the customers to decide whether to update the model for every field, or conditionally based on their business logic and app setup. In addition, the Field and Value properties of the GridCommandEventArgs should be applied to ensure that the user is aware of what exactly has changed.
Planned
Last Updated: 15 Oct 2021 08:41 by ADMIN
Scheduled for 2.29.0
Created by: Edward
Comments: 5
Category: Grid
Type: Feature Request
20

It will be useful if the grid column state contains the Field parameter if such is specified.

This will make easier mapping the ColumnState entity to the actual column.

 

----

ADMIN EDIT

While this feature is implemented, you can get the Field of ColumnState columns using the workaround shown in this article: https://docs.telerik.com/blazor-ui/components/grid/state#get-current-columns-visibility-order-field

----
Planned
Last Updated: 15 Oct 2021 08:36 by ADMIN
Scheduled for 2.29.0
Created by: Jason
Comments: 3
Category: Grid
Type: Bug Report
15

Occasionally I am getting TaskCancellation errors such as:

[13:07:52 ERR] Unhandled exception in circuit 'hQsJqY3F4XbTbzQETSggJClg_e4YRyQkrKHFMHCXugM'.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
   at Microsoft.JSInterop.JSRuntimeExtensions.InvokeVoidAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
   at Telerik.Blazor.Components.TelerikComboBox`2.Dispose()
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__140_0(Object state)
   at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.ExecuteSynchronously(TaskCompletionSource`1 completion, SendOrPostCallback d, Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.ExecuteBackground(WorkItem item)

 

===========

ADMIN EDIT

===========

The error is related to a Microsoft bug. It occurs one minute after some client component has been disposed.

The exceptions are not bypassed due to memory leak. The bug is expected to be fixed in .NET 6 and this will be respected for the Telerik components, so that the errors do not appear.

Duplicated
Last Updated: 14 Oct 2021 11:54 by ADMIN
Created by: Huy
Comments: 1
Category: Grid
Type: Bug Report
0

Hi Support,

I found a bug that Telerik grid filter for blazor on web assembly version not working for dynamic datasource. While the server one work just fine. Please see the video for more detail. I am also attach the two solution for your investigation.

https://www.loom.com/share/c876a98500ea4a8fbacd3aa30179485d

 

This same peice of code work in Server version but not for client version

<TelerikRootComponent>
    <TelerikGrid Data="@GridData"
                 Height="350px"
                 Sortable="true"
                 Pageable="true"
                 SortMode="@SortMode.Single"
                 FilterMode="@GridFilterMode.FilterMenu"
                 FilterMenuType="@FilterMenuType.CheckBoxList"
                 PageSize="10">
        <GridColumns>
            <GridColumn Field="Col1" Width="80px" Locked="true" />
            <GridColumn Field="Col2" Width="140px" />
        </GridColumns>
    </TelerikGrid>
</TelerikRootComponent>

@code { public List<dynamic> GridData = new List<dynamic>();

    protected async override Task OnInitializedAsync()
    {
        for (int i = 1; i < 10; i++)
        {
            dynamic row = new ExpandoObject();
            row.Col1 = $"col1_{i}";
            row.Col2 = $"col2_{i}";
            GridData.Add(row);
        }

    } }

 

Please help me fix this issue ASAP as our product need this filter to ship the release.

Thanks

Huy Nguyen

Declined
Last Updated: 14 Oct 2021 06:23 by ADMIN
Created by: Robert
Comments: 10
Category: Grid
Type: Feature Request
28

I would like to be able to set Min Width parameter to a Grid Column. The behavior I expect to see is:

  • The Grid Column with set Min Width will take all the available space on large screens
  • On smaller screens it will shrink but no more than the set min width (e.g. 100 px).
Completed
Last Updated: 12 Oct 2021 09:45 by ADMIN

Our application has, on many pages, complex business logic to enable or disable specific cells based upon the viewing mode, the user's capabilities, the type of data in the row, etc.   If a cell is to be disabled, we also want to change the background color..  This is easily accomplished with the OnCellRender property.

However, we cannot enable/disable specific cells within a column without creating a column template with conditional logic.  And so, in all our grids, EVERY column has to have a template, just for that trivial function.  And now we have business logic smeared across both the razor page and the code page. 

A template should be required only if you are doing something unusual or exceptional.  Setting a cell to be enabled or disabled is completely routine, and one should not have to create a template just for that.

If you would add a property such as OnCellEnable, to override the column Enabled property on a per-cell basis, it would be extremely useful and would eliminate the need for literally hundreds of templates.

Thanks

 


 


Unplanned
Last Updated: 12 Oct 2021 09:08 by ADMIN
Field and Value properties from GridCommandEventArgs don't populate in Incell editing. Their value is always null and thus I cannot get information for the edited field.
Declined
Last Updated: 08 Oct 2021 11:54 by ADMIN
Created by: Scott
Comments: 4
Category: Grid
Type: Feature Request
4

If a developer changes the structure of the grid in a new release, such as adding or removing columns, the restore can have very unexpected results.

We get around this by storing a version number with the grid and incrementing that number when we change the grid columns.  If the version number on the grid does not match the version number stored with the state, we don't restore it.

We would like to see this be more of an automatic feature of the grid.

Compare the columns in the saved state with the columns in the Grid declaration. You may need to change the way the Grid columns are declared, according to the the linked documentation. If there is inconsistency between the two collections, strip the column information from the saved state before restoring it.  (This was suggested by Dimo from Telerik in a support ticket)

An alternative would just be to throw away that state when it can't be safely restored.

1 2 3 4 5 6