Unplanned
Last Updated: 05 May 2020 12:09 by ADMIN
Created by: Joe
Comments: 1
Category: Grid
Type: Feature Request
0

Hello Telerik,

We have implemented a custom reusable filter cell component similar to the example of the multi-select checkbox example from the docs. The difficulty using that example however, is that when the filter is updated, the other filters in the grid are removed due to the use of filterservice.filter. Because the CompositeFilterDescriptor can contain both filters and composite filters, why does the base filter cell component's base methods not allow a CompositeFilterDescriptor to be provided to the UpdateFilter method? 

    protected filterByField(field: string): FilterDescriptor;
    protected filtersByField(field: string): FilterDescriptor[];
    protected removeFilter(field: string): CompositeFilterDescriptor;
    protected updateFilter(filter: FilterDescriptor): CompositeFilterDescriptor;
    protected applyFilter(filter: CompositeFilterDescriptor): void;

Our method for implementing the multi-checkbox filter cell was to build a composite filter using 'Or' logic and each selected value added as a filter descriptor with operator 'eq' and the selected item value as the value of the filter, and use a similar strategy as the base filter cell component to add this composite filter to the filter service's composite filter. 

  private getSelectedFilters(values: Item[]): CompositeFilterDescriptor {
    const selected: FilterDescriptor[] = values.map((value) => {
      return {
        field: this.field,
        operator: 'eq',
        value: value.value,
      };
    });
    return {
      filters: selected,
      logic: 'or',
    };
  }

  public onChange(values: Item[]): void {
    this.selectedValues = values;
    const root = this.filter || {
      filters: [],
      logic: 'and',
    };
    this.removeFilter(this.field);

    if (values !== null && values.length !== 0) {
      root.filters.push(this.getSelectedFilters(values));
    }
    this.filterService.filter(root);
  }

If the base filter cell component allowed the CompositeFilterDescriptor type or the FilterDescriptor type in the updateFilters method, we could simplify the logic in our filter cell component to be similar to the patterns shown in the drop-down list filter component example, as shown below, but with a composite filter descriptor such as the one generated by the above getSelectedFilters function.

this.applyFilter(
      value === null // if value of the default item
        ? this.removeFilter(this.valueField) // remove the filter
        : this.updateFilter({
            // otherwise add/modify the filter for the field with the value
            field: this.valueField,
            operator: 'eq',
            value,
          })
    ); // and update the root filter

I think this would be a beneficial addition to the Kendo Angular2 product, as it would enable many more reusable filter components to be created more easily and also simplify/ enhance some of the existing examples you provide.  If you would like more information or the full multiselect-filter component, I would be happy to supply it.

 

Thank you!

Unplanned
Last Updated: 26 May 2020 13:27 by ADMIN
Scheduled for 2020.3
Created by: Clint Singer
Comments: 1
Category: Grid
Type: Bug Report
0

Hi,

It seems there is an issue with the material theme and nested grids.   When you have master-detail nested grids, the entire last nested grid gets applied with the same styling as the bottom rows of all the other nested grid. 

The styling in my browser is showing up as

.k-grid .k-grid-content tr:last-child td.k-grid .k-grid-content-locked tr:last-child td {
  1. border-bottom-width: 0;

 

Which causes the rows in the last grid to not appear.   

I have attached an image where I have changed the styling to 5px and red so you can see that it is being incorrectly styled.  You can see that even the other rows in in the last grid are getting styled along with the last row style.

I am running the latest version of Kendo.

Cheers,

Clint

Unplanned
Last Updated: 15 Apr 2020 14:13 by ADMIN
Created by: Christopher
Comments: 1
Category: Grid
Type: Feature Request
0

Is it possible to modify the default filter for a date on a grid so that it is a "between" filter? i.e. the second clause will show "Is before or equal to" instead of "Is after or equal to"?

 

https://stackblitz.com/edit/angular-ygnmj1

Preferred default:

instead of:

Unplanned
Last Updated: 03 Apr 2020 08:27 by ADMIN
Created by: Robert
Comments: 6
Category: Grid
Type: Feature Request
1

Hello,

   You have this jQuery example: Binding to Kinvey Backend Services.  Do you have a similar example for Angular?  I cannot find one.  

Thank you.

Unplanned
Last Updated: 23 Mar 2020 07:36 by ADMIN

As described here:

https://github.com/telerik/kendo-angular/issues/2809#event-3148229980

We are asking to add a simple css class to every master row opened. We have just to change stile every time row has detail open.

Thanks

Completed
Last Updated: 18 Mar 2020 07:20 by ADMIN
Created by: Troels
Comments: 3
Category: Grid
Type: Bug Report
0

When using the Grid control inside an Angular component which is shown in a dialog (via MatDialog), the component is not properly destroyed after closing the dialog. The same problem doesn't occur when the component instead contains, say, a TreeView.

The problem occurs in Angular 8 and 9, in the Chrome browser. I've created an Angular 8 demo here: https://stackblitz.com/edit/angular-thr9j1 and an Angular 9 demo here: https://stackblitz.com/edit/angular-ksfrqy

Run the demo, press the "Open dialog" button a number of times, then take a heap snapshot in the Chrome dev console (be sure to first select the proper Javascript VM instance, containing "angular-thr9j1" or "angular-ksfrqy"). The component shown in the dialog is called "MemoryLeakDialogComponent", so use that as a filter. You'll see that for every time you opened the dialog there's now an instance of the component on the heap.

The MemoryLeakDialogComponent contains just an empty kendo-grid tag with no attributes. If you edit its dialog template to instead contain a kendo-treeview component, everything is properly destroyed and garbage collected, which leads me to suspect a memory leak in the Grid component.

Unplanned
Last Updated: 11 Mar 2020 13:59 by ADMIN
Created by: Brittany
Comments: 0
Category: Grid
Type: Feature Request
1
Please provide a built-in date range option for the filter input property of the Column component.
Unplanned
Last Updated: 26 Feb 2020 23:06 by Jerry

Can you add "extra" field to FilterableSettings to allow the user to set extra globally for all columns in a grid? 

https://www.telerik.com/kendo-angular-ui/components/grid/api/FilterableSettings/

Currently, if I want to set extra to false for a column, I need to do something like this: 

<kendo-grid-column field="ProductName" title="Product Name">
   <ng-template kendoGridFilterMenuTemplate let-filter let-column="column" let-filterService="filterService">
     <kendo-grid-string-filter-menu [extra]="false" [column]="column" [filter]="filter" [filterService]="filterService">
     </kendo-grid-string-filter-menu>
   </ng-template>
</kendo-grid-column>

But it would be simpler if we can do filterable:{extra:false} just like Kendo UI for jQuery. https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/configuration/filterable.extra

Unplanned
Last Updated: 21 Feb 2020 14:13 by ADMIN
Created by: Jerry
Comments: 0
Category: Grid
Type: Feature Request
1

Can you add a method to go to a specific page in the Grid?

It is easy in Kendo UI for jQuery, https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/methods/page

 dataSource.page(2);

The equivalent way of doing it in Kendo UI for Angular is to bind skip to a Grid, and calculate the skip by ourselves, but it doesn't feel as natural as doing datasource.page(2)

Unplanned
Last Updated: 18 Feb 2020 11:46 by ADMIN

Hi there

I am wondering if there is a way to customize the column labels / titles used in the column-chooser component.

I'm using the grid component with columns and column-groups (see example below) and would like to reflect the title of the group in the column-chooser's list as well.

Right now the chooser shows two checkboxes per group "Amount", "Weight" "Amount", "Weight" but does not reflect the group title...

Users might not be sure which "Amount" or which "Weight" is affected by which checkbox (in fact in my real world application there may be even more than 2 Productgroups in a row).

 

@Component({
    selector: 'my-app',
    template: `
      <kendo-grid [data]="data">
         <ng-template kendoGridToolbarTemplate>
            <kendo-grid-column-chooser></kendo-grid-column-chooser>
         </ng-template>
         <kendo-grid-column field="Field1"></kendo-grid-column>
         <kendo-grid-column field="Field2" [hidden]="true"></kendo-grid-column>
         <kendo-grid-column-group title="Productgroup A">
           <kendo-grid-column title="Amount" field="groupA.amount"> </kendo-grid-column>
           <kendo-grid-column title="Weight" field="groupA.weight"> </kendo-grid-column>
         </kendo-grid-column-group>
         <kendo-grid-column-group title="Productgroup B">
           <kendo-grid-column title="Amount" field="groupB.amount"> </kendo-grid-column>
           <kendo-grid-column title="Weight" field="groupB.weight"> </kendo-grid-column>
         </kendo-grid-column-group>
      </kendo-grid>
    `
})
export class AppComponent {
  public data: any[] = [{ Field1: 'Foo', Field2: 'Bar', groupA: { amount: 11, weight: 111, annotation: "none"}, groupB: { amount: 22, weight: 222, annotation: "yes"}}];
}


Thanks for any help!

Jochen

Unplanned
Last Updated: 06 Feb 2020 08:47 by ADMIN
Created by: David
Comments: 1
Category: Grid
Type: Feature Request
1
Can you please consider adding a built-in option for freezing Grid rows that will always stay below the headers area during scrolling?
Declined
Last Updated: 04 Feb 2020 09:15 by ADMIN
Created by: Kevin
Comments: 1
Category: Grid
Type: Feature Request
1

Kendo Grids for Angular has the ability to remove operators by using `[showOperators]="false"`, however this keeps the button visible.

 

We would like the option to also hide/remove the clear button.

 


Pending Review
Last Updated: 30 Jan 2020 09:11 by ADMIN
Created by: Phoenix
Comments: 1
Category: Grid
Type: Feature Request
0

Hi Team

It would be very helpful if Grid allow to prevent focus on cell out-of-box, at the moment, we have to handle focusin event then set focus to other cell, however when using navigation keys or shortcut key, we need to handle differently depend on which cell should be focus next.  

 

Pending Review
Last Updated: 28 Jan 2020 14:23 by ADMIN

Reproduction

- Use a grid with data coming from a service (or another source)

- Click the delete button (built in with the grid

It removes the element from the grid as soon as I click the button but I want to remove it only after confirming the deletion.

Declined
Last Updated: 09 Jan 2020 15:34 by ADMIN
Created by: Leah
Comments: 1
Category: Grid
Type: Feature Request
0

I would like to request additional keyboard navigation functionality with the grid.  We are using the grid as a sort of spreadsheet, for teachers to enter grades.  Teachers want to move down the column in the grid by pressing the enter key after typing each grade, in order to move their focus to the field below.  After pressing enter, the field below should be focused and editable.  When pressing enter at the bottom of the column, focus should be brought to the top of the next column.  Using shift+enter would move the focus up a row, and if at the top of a column, would bring focus to the bottom of the column to the left.

This behavior differs from the current grid keyboard navigation, I believe, in that we need the navigation to be present and the fields within each cell to be editable at the same time.  The teacher will not want to switch between navigating and editing, they want to quickly enter their scores going down the column, like a spreadsheet.

We have tried to implement this ourselves and have been mostly successful, but the area where we are having issues beyond our control is when using virtual scrolling.  As the grid swaps out its rows for the next set of data, the user's focus is moved to a different cell where we do not wish to have the focus at that point.  We have attempted to immediately move the focus back to the cell it should be in, but the user can type faster than we are able to regain control of the focus and we wind up with grades in cells where they shouldn't be.  We have tried using the pageChange event, but that occurs after the page has already changed and the focus has already been moved somewhere we don't want it.  If you have any suggestions for dealing with this in the meantime that would be most helpful.

Thank you!

Unplanned
Last Updated: 24 Dec 2019 07:57 by ADMIN

In my kendo-grid I want to have a kendoGridFooterTemplate span across multiple columns the same way the kendo-grid-column-group allows you to do with the header. 

I want that "Total : " footer to start at that cell, but then continue on as needed into the other two cells to the right.

Unplanned
Last Updated: 22 Nov 2019 08:54 by ADMIN
Created by: YAVEON-RRA
Comments: 1
Category: Grid
Type: Feature Request
0

Setting grid.columns[i].hidden may work to some extend, but isn't emitting columnVisibilityChange and further activities on a column set visible are not working but resulting in error, e.g. calling reorderColumn() results in:

TypeError: Cannot set property 'orderIndex' of undefined
    at GridComponent.push../node_modules/@progress/kendo-angular-grid/dist/fesm5/index.js.GridComponent.updateColumnIndices (https://localhost:4201/vendor.js:196833:43)

The grid internal method updateColumnIndices() throws an error, because it doesn't get the newly visible column from expandColumnsWithSpan() and expandedColumns.indexOf(source) is -1. 

Thus it's required to add methods like showColumn/hideColumn or setColumnVisibilty.

Unplanned
Last Updated: 22 Nov 2019 08:51 by ADMIN

Hi, 

I believe it would be a great addition and simplification, if there were getOptions/setOptions methods at GridComponent to imperatively access/restore grid state (visibility, column order, sort order, filter, ...). These are also available at Kendo UI for jQuery. 
I know, all the settings may be set using *ngFor and *ngIf directives, but that approach requires a lot of attribute remapping (from component instance to template) which doesn't feel right, especially when using column templates and and a lot of grid features. 

Thank you, 
Robert

Unplanned
Last Updated: 19 Nov 2019 09:32 by ADMIN
Created by: Jon
Comments: 1
Category: Grid
Type: Feature Request
2

Our application uses grouped grids but doesn’t use the built-in collapse feature. We instead hide the collapse arrow to disable the option. This leaves an empty space to the left of the parent grid label (where the collapse arrow would normally sit) and an empty column on the left side of all child grids. We’re looking for a more “official” and supported way of achieving the effect that removing ‘[group]=“groups”’ currently achieves. We’d like to minimize the amount of nonstandard code we’re introducing to our Kendo implementation as well as minimize unintended consequences of altering the grid code.

Unplanned
Last Updated: 08 Nov 2019 08:25 by ADMIN

Hey Kendo Team,

 

you already have a solution in jQuery for my problem (https://docs.telerik.com/kendo-ui/knowledge-base/grid-group-remove-footer-header-one-record).

Unfortunately this solution did not work in Angular.

Desirable solution would be a flag in GroupHeaderTemplate which removes header if group size is one.

Another solution could be; allow a class field in GroupHeaderTemplate, so that we can set display to none if group size is one.

 

Best regards,

Matthias


1 2 3 4 5 6