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.
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!
Please provide an [autoSync] option of the ColumnMenuChooser component as the [autoSync] option for the ColumnChooser component:
https://www.telerik.com/kendo-angular-ui/components/grid/api/ColumnChooserComponent/#toc-autosync
Thank you.
Please provide a frozen column separator as the one for the WPF DataGrid:
https://docs.telerik.com/devtools/wpf/controls/radgridview/columns/frozen-columns
thank you
Hi Team,
We need to add caption on grid table as explained here: https://accessibility.psu.edu/tableshtml/#caption
JAWS should read this caption on pressing T while selecting the table.
Can you guide us how can we add this caption!
Thanks,
Saini
I have a Grid with a command column for edit/remove buttons.
I also have a custom button that has to be hidden while the row is being edited, but there is no variable that exposes that state.
Please provide isEdited field in the kendoGridCellTemplate context.
I had already made an entry in the Foum about it.
https://www.telerik.com/forums/is-there-a-way-for-percentage-column-widths
Link to the demo with the css workaround:
https://stackblitz.com/edit/angular-y8y55s
The main intention is that I want to be able to specify the column width in percentage values rather than fixed pixel values.
There are some edge cases that must be considered:
When resizing grid columns so the last column does not reach the right border of the grid (sum of columns width < current grid width), loading stored state (or changing column width property in any way) does not restore the columns width proportionaly to use the full width of the grid.
Note: in this case, the default columns width sum and stored state columns width sum are always inferior to the grid width in order to use proportionality and adapt to every screen size.
In our implementation, we made a "Reset columns view" (working exactly as the loading store data), but if the user play arround with the columns as described above), the reset is broken.
Reproduce steps:
Using the persisting state exemple available in the doc: https://stackblitz.com/edit/angular-3jdmzy?file=app%2Fapp.component.ts
- Click "Save current state"
- Resize grid columns so the last column does not reach the right border of the grid
- Click "Load saved state", the columns are resized proportionaly of the saved state but on the base of previous columns width sum instead of the full grid width.
When a Grid cell is focused, and after this, the data is filtered so that the data contains fewer items than the index of the row the last focused cell was in, the Grid table area does not receive focus when tabbed into.
Please check the example:
https://stackblitz.com/edit/angular-xqswy5-zqeqkb?file=app/app.component.ts
Hi Kendo Angular team,
It will be a nice improvement if there is an option to set a specific type for the Grid data item and the templates. This will allow checking the types inside the templates when fullTemplateTypeCheck is on.
Hi
we have a lot of clients requesting two features for the KendoGrids:
1st) A second horizontal scrollbar on top of the grid, scrolling smoothly in parallel with the bottom one.
2nd) Sticky / fixed headers to be able to always see the header row. Somethine like this: https://www.telerik.com/kendo-angular-ui/components/grid/columns/sticky/ but for the top labels row.
Could we have a turnkey solution which allows to disable a row selection which takes care of disabling only the relevant selection checkboxes and handle properly the "Select all" checkbox state (in header).
With CheckboxColumnComponent field which allows providing dataItem field name or predicate function.
<kendo-grid-checkbox-column showSelectAll="true" disableSelection="isDisabled">
</kendo-grid-checkbox-column>
<kendo-grid-checkbox-column showSelectAll="true" [disableSelection]="isDisabledPredicateFunction">
</kendo-grid-checkbox-column>
OR
If you don't want to add more selection concerns into CheckboxColumnComponent this field could be specified in your SelectableSettings as well:
public selectableSettngs: SelectableSettings = {
enabled: true,
checkboxOnly: false,
mode: 'multiple',
cell: false,
drag: false,
rowEnabled: mySelectableRowPredicateFunction
}
rowEnabled field could something like this:
export declare type RowEnabledSelectionFn = (context: RowArgs) => boolean | boolean;
export interface SelectableSettings {
//...
/**
* Determines if row selection is allowed.
*
* @default true
*/
rowEnabled?: RowEnabledSelectionFn;
}
Thank you
Overcoming the last listed limitation would be nice:
https://www.telerik.com/kendo-angular-ui-develop/components/grid/columns/locked/#toc-known-limitations
The Spreadsheet (Google Docs, etc.) addresses this situation by duplicating the cell content on both sides and clipping the right cell accordingly.
The developer must measure the Grid row height in the browser and set it to the `rowHeight` in order for virtual scrolling to work correctly. Setting an incorrect value can lead to subtle errors - glitches during scrolling or inability to scroll down to the last row.
The row height may change as a result of a styling adjustments and is not guaranteed to be identical across browsers and devices. This makes the current workflow tedious and error-prone.
One of the following approaches can be used to solve this issue:
Hi,
Please provide an option that allows disabling the Clear button located in the Grid filter menu. Currently, it is always enabled, but I expect that it should be enabled only when there is a filter applied for the specific column that can be cleared. The required behavior is similar to the way the Filter button in the filter menu is functioning.
thanks
Hi,
Please provide a way to control the grouping operation whether it is performed case sensitive or case insensitive. One option would be to add an ignoreCase property to the GroupDesciptor similar to the FilterDescriptor.
Hi Team,
I'd like to request the Grid to have resize sensors to be able to determine when the Grid height changes.
Thank you!