Telerik Forums
KendoReact Forum
1 answer
83 views

So assuming a have a Grid with a custom cell override like so:

<Grid
            {...props}
            cells={hidden? { data: HiddenCell } : cells}
            data={hidden? loadingData : data}
></Grid>

 

and the Grid has columns where one column has a custom cell as well

<GridColumn
            {...props}
            cells={{ data: CustomCell }}
></GridColumn>



Is there a way to set the grid so that the custom cell on the Grid overrides the custom cell on the Column?

Vessy
Telerik team
 answered on 09 May 2025
0 answers
75 views

Hi.

I have a Grid with a lot of data sets, possibly over 2000, even 10.000 or more a possible. When I add a filter to this Grid component, it is very slow to even show what I'm typing. So I would like to defer setting the filter until I stop typing and maybe even show a spinner until the filtering is done instead of just nothing happening and then suddenly showing the filtered data.

So the questions are:

- How can I defer setting the filter until I pause typing (maybe after 500 ms or so)?

- How can I show a spinner until filtering is done?

Thanks!

Greetings,

Bernd

Bernd
Top achievements
Rank 5
Bronze
Bronze
Bronze
 asked on 09 May 2025
0 answers
110 views

How can I configure the Kendo UI Grid so that it uses the full available horizontal space as the screen size increases, but also enforces a minimum width (e.g., 1200px) so that on smaller screens, a horizontal scrollbar appears instead of columns being compressed or wrapped?

 

<div style={{ overflowX: "auto", whiteSpace: "nowrap" }}>
  <Grid
    data={data}
    pageable={{ pageSizes: [20, 50], buttonCount: 5 }}
    total={totalCount}
    pageSize={pageSize}
    skip={skip}
    onDataStateChange={handleDataStateChange}
    onRowClick={handleRowClick}
  >
    <Column field="id" title="ID" width={150} />
    <Column field="name" title="Name" width={200} />

    {isDetailsExpanded && (
      <>
        <Column field="detail_1" title="Detail Field 1" width={250} />
        <Column field="detail_2" title="Detail Field 2" width={120} />
      </>
    )}

    <Column field="date" title="Date" width={150} />
    <Column field="status" title="Status" width={100} />
  </Grid>
</div>

What we've tried:

Setting style={{ minWidth: 1200 }} on the Grid itself.

Explicitly setting minWidth or width for each column.

 

Despite these efforts, the grid still does not consistently maintain the expected layout — on smaller screens, some columns are compressed, and on larger screens, the grid doesn't always expand to use the full width.


 

Thanks in advance for any help or suggestions! I really appreciate your time and support.

Sai
Top achievements
Rank 1
 asked on 07 May 2025
0 answers
57 views

I'm using Kendo React Grid (@progress/kendo-react-grid@9.1.0) with client-side filtering. One of my columns contains Turkish words like "CEVİZ" (with capital dotted İ, U+0130). I noticed a strange behavior when filtering:

  • Typing "cevi" in the filter works correctly and returns "CEVİZ"

  • Typing "ceviz" does not return any results

  • Typing "CEVİZ" works

  • Typing "iz" does not return results

  • Similar issues happen with words like "SİDE" → "si" works but "sid" doesn't

It seems this is related to how JavaScript lowercases "İ" into "i\u0307" (with a combining dot), which causes unexpected behavior in includes() filtering.

I have lowercased to column data from "CEVİZ"  to "ceviz" before displaying but still have same problem. 

Questions:

  1. Does the Kendo Grid's built-in client-side filtering normalize or handle Turkish casing (e.g., toLocaleLowerCase("tr"))?

  2. Is there a recommended way to override or customize the string filtering logic to properly handle Turkish characters like İ?

  3. If I provide a custom filter function, how can I ensure it's properly integrated for all relevant columns?

Thanks in advance!

irfan
Top achievements
Rank 1
 updated question on 02 May 2025
1 answer
77 views

@progress/kendo-react-dateinputs v9.4.1
@progress/kendo-react-labels v9.4.1

When using TimePicker with a manually defined Label component as such:


<Label 
    id="time-picker-label"
    editorId="time-picker"
    ...
>
    TimePickerLabel
</Label>
<TimePicker
    ariaLabelledBy="time-picker-label"
    id="time-picker"
/>

The generated HTML rendered to the DOM includes a span which has the ID attached to the TimePicker component, as well as the input control element which bears the same ID.  This poses a screen-reader accessibility issue given that the label element's "for" value needs a unique ID.

 

Is this a known issue, and has it been resolved in a later version, or is there a plan to resolve this?

Yanko
Telerik team
 answered on 25 Apr 2025
1 answer
78 views

Hi,

The KendoReact Grid Grouping does not working on mobile.

When trying to group columns by dragging them with the mouse, it fails.

Kendo Version 6.0.2 is in use.

Please check.

Vessy
Telerik team
 answered on 23 Apr 2025
1 answer
77 views

Hi Kendo Team,

I’m working on creating a common reusable component for the Kendo React Grid in my project. I’ve built two components:

  1. CustomGrid – a wrapper around the Kendo Grid component where I pass the data and configuration.

  2. CustomGridColumn – a wrapper around the Kendo GridColumn component.

When I use CustomGrid with the regular GridColumn inside it, everything works perfectly.

However, when I try to replace GridColumn with my CustomGridColumn component, the columns do not render at all – it's like they're not recognized by the grid. I'm passing all the necessary props and structure correctly, but it's still not working.

Could you please help me understand what might be causing this issue? Is there a special requirement for column components to be recognized by the Grid?

Thanks in advance for your help!

Vessy
Telerik team
 answered on 22 Apr 2025
0 answers
70 views
Is there a way to download the examples as an app? This way I can change the code on my machine and use an AI assistant against the code. Also be able to use the IDE's capability for code navigation and refactoring.
Tony
Top achievements
Rank 1
 updated question on 22 Apr 2025
1 answer
152 views

Hi Kendo Team,

I'm working on a React project where I want to create a common reusable component for the Kendo UI Grid so that if there are any changes in the grid properties or behavior, I only need to update them in one place—this way I avoid updating it across the entire project.

Here's an example of how I'm using the Grid:

<Grid
  data={orderBy(staffAuditData, sort).map((item) => ({
    ...item,
    [SELECTED_FIELD]: selectedState[idGetter(item)],
  }))}
  checkboxElement
  style={{
    height: staffAuditData.length > 0 ? "100%" : "250px",
  }}
  dataItemKey={DATA_ITEM_KEY}
  skip={page}
  take={pageSize}
  total={metaData.totalCount}
  onPageChange={pageChange}
  className="pagination-row-cus"
  pageable={{
    pageSizes: [10, 20, 30, 50, 100, 500],
  }}
  sort={sort}
  sortable={true}
  onSortChange={(e) => setSort(e.sort)}
  filterOperators={filterOperators}
  onDataStateChange={dataStateChange}
  onHeaderSelectionChange={onHeaderSelectionChange}
>
  <GridColumn title="Affected Staff" field="affectedStaffName" className="cursor-default" />
  <GridColumn title="Affected By" field="affectedByStaffName" className="cursor-default" />
  <GridColumn title="Section" field="affectedTable" className="cursor-default" />
  <GridColumn title="Action" field="actionName" className="cursor-default" />
  <GridColumn
    title="Date & Time"
    cell={(props) => {
      let date = props.dataItem.utcDateCreated;
      return (
        <td className="cursor-default">
          {moment.utc(date).local().format("M/D/YYYY")} at{" "}
          {moment.utc(date).local().format("hh:mm A")}
        </td>
      );
    }}
  />
</Grid>


import React, { useState } from "react";
import { Grid } from "@progress/kendo-react-grid";
const CommonGrid = ({ data, selectable = true, pageable = true, ...props }) => {
  const [selectedID, setSelectedID] = useState(null);
  const rowClick = (event) => {
    setSelectedID(event.dataItem.id);
  };
  return (
    <Grid
      data={data.map((item) => ({ ...item, selected: item.id === selectedID }))}
      //selectable={selectable}
      pageable={pageable}
      onRowClick={rowClick}
      style={{ width: "100%" }}
      {...props} // Pass any additional props (sorting, filtering, etc.)
    ></Grid>
  );
};
export default CommonGrid;


import React from "react";
import { GridColumn } from "@progress/kendo-react-grid";
const CommonGridColumn = ({ field, title, width, ...props }) => {
  return <GridColumn field={field} title={title} width={width} {...props} />;
}
export default CommonGridColumn;



So I created two common components:

  • CommonGridComponent – which handles the Grid wrapper and works fine

  • CommonGridColumn – which I'm trying to use to handle columns dynamically

However, when I pass props to CommonGridColumn, the column doesn't show up in the grid. The same column works when used directly with GridColumn. Is there a recommended way to create a wrapper for GridColumn so it behaves correctly?

Any advice or example on how to build a custom reusable GridColumn component would be really helpful.

Thank you!

Stoyan
Telerik team
 answered on 18 Apr 2025
1 answer
106 views

I have a drawer design like this. I'm trying to create it, but I don't know how to design this kind of image. I am use Kendo react drawer

 

const CustomItem = (props: DrawerItemProps) => {
  const { visible, ...others } = props;
  let dataExpanded = props.expanded;
  const arrowDir = dataExpanded ? chevronDownIcon : chevronRightIcon;
  return visible === false ? null : (
    <DrawerItem {...others}>
      <SvgIcon icon={props.svgIcon} />
      <span className={'k-item-text'}>{props.text}</span>
      {dataExpanded !== undefined && (
        <SvgIcon
          icon={arrowDir}
          style={{
            marginLeft: 'auto',
          }}
        />
      )}
    </DrawerItem>
  );
};
Yanko
Telerik team
 answered on 17 Apr 2025
Narrow your results
Selected tags
Tags
General Discussions
Grid
Wrappers for React
Charts
Scheduler
Filter 
DropDownList
Form
Styling / Themes
DatePicker
Editor
TreeList
Styling
PDF Processing
ComboBox
Excel Export
Dialog
Input
TreeView
Upload
Drawer
Button
Drag and Drop
MultiSelect
Tooltip
Accessibility
NumericTextBox
Checkbox
Menu
Gantt
DateTimePicker
PDF Viewer
Popup
Window
AutoComplete
DateInput
Sortable
Data Query
Drawing
Licensing
TabStrip
Calendar
Pager 
Labels 
Localization
TimePicker
GridLayout
FontIcon
Animation
PanelBar
PivotGrid
Card
DropDownButton
TaskBoard
Conversational UI 
DateRangePicker
Splitter
Badge 
Security
Slider
Spreadsheet
ContextMenu
MultiViewCalendar
Stepper
MultiColumnComboBox
MultiSelectTree
TextBox
AppBar
File Saver
ListView
MaskedTextBox
RadioButton
Switch
TextArea
Toolbar
DropDownTree
TileLayout
Map
Avatar
Date Math
Gauge
RadioGroup
RangeSlider
Rating
Loader
ExpansionPanel
SvgIcon
Typography
ProgressBar
ScrollView
Popover
StockChart
RadialGauge
Server Components
AIPrompt
Page Templates / Building Blocks
AI Coding Assistant
Chat
ColorGradient
ColorPalette
ColorPicker
Notification
Ripple
Skeleton
ButtonGroup
Chip
ChipList
FloatingActionButton
SplitButton
ActionSheet
Barcode
QR Code
FlatColorPicker
Signature
BottomNavigation
BreadCrumb
StackLayout
Timeline
ListBox
ChunkProgressBar
Sparkline
FileManager
ArcGauge
CircularGauge
LinearGauge
ExternalDropZone
OrgChart
Sankey
VS Code Extension
InlineAIPrompt
SpeechToTextButton
Chart Wizard
Agentic UI Generator
SmartPasteButton
PromptBox
SegmentedControl
+? more
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?