Declined
Last Updated: 22 Oct 2026 06:50 by ADMIN
Svitlana
Created on: 15 Oct 2026 08:32
Category: Kendo UI for Angular
Type: Bug Report
0
Column chooser(from column menu) allows hiding all columns when columns are added asynchronously
With the built-in chooser’s default `allowHideAll: false`, the last visible unlocked column’s checkbox is disabled.
But when columns are added after the Grid has initialized, the chooser can leave that checkbox enabled. Reopening the chooser and unchecking it allows all data columns to be hidden.

Proposed fix: Recalculate the chooser’s checked/disabled state after the column list and checkbox views are updated, and when that list changes - not only once during component initialization. In Kendo 25.3, `ColumnListComponent` runs `updateDisabled()` from a `ngZone.onStable.pipe(take(1))` subscription, which isn't sufficient when columns render lazily/asynchronously.

1 comment
ADMIN
Zornitsa
Posted on: 22 Oct 2026 06:50

Hi Svitlana,

Thank you for the details provided.

In the shared StaklBlitz example, I can see that Angular 22 is used, in which zoneless change detection is enabled by default. On that note, I want to clarify that Kendo UI for Angular does not fully support zoneless change detection yet, so the application must explicitly enable the zone.js change-detection provider in applications using Angular 21 and 22. Since not all Kendo UI for Angular components provide support for zoneless, applications without zone.js explicitly enabled are expected to face some issues, especially for operations that require change detection:

In this line of thought, some Kendo UI for Angular packages have been migrated toward zoneless compatibility starting from v25.0.0 up to our latest v25.3.0. The exact migrated packages can be found in our Changelog:

However, the Grid package is still not part of the migration available in our latest versions and is yet to be migrated to zoneless. Still, the partial migration status of some packages does not change the current requirement to enable zone.js explicitly, as issues might appear in complex applications.

Having said that, please enable zone.js-based change detection in the application as follows:

import { provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core';
import { bootstrapApplication } from '@angular/platform-browser';
import { provideAnimations } from '@angular/platform-browser/animations';
import { App } from './app/app';

bootstrapApplication(App, {
  providers: [
    provideBrowserGlobalErrorListeners(),
    provideAnimations(),
    provideZoneChangeDetection({ eventCoalescing: true }),
  ],
}).catch((err) => console.error(err));

Here is also the StackBlitz example from your reply, updated to use zone.js:

In the above example, the described unexpected behavior can no longer be observed - once the chooser is reopened, the single checkbox remains disabled. For this reason, I am marking this bug report as Declined since the observed behavior appears to be caused by the application configuration.

Please check out the above example and let me know if I am missing something.

Regards,
Zornitsa
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.