Telerik Forums
KendoReact Forum
1 answer
220 views

Hi everyone,

Rendering columns within the `Grid` component using the `map` function is not working as expected. For example:
  • When defining the `GridColumn` properties, such as `cell`, the `className` property doesn't apply as expected. If I remove the cell property from the GridColumn component it works as expected.
  • If I don't explicitly define the `headerCell` property, the filter icon (three dots) isn't visible. Hence, I need to manually add the filter options in the header cell.

Note: Everything works as expected when I define each column component individually, without using the `map` function approach.

Objective: I need to display 20+ columns in the grid, and I want to avoid manually defining each `GridColumn` component. Instead, I would like to dynamically render the columns using the `map` function. In my case, the column headers are custom components, and the column filter functionality should be displayed conditionally.

Please find the attached file with implementation.

I kindly request your help. Thank you.

 

Yanko
Telerik team
 answered on 16 Sep 2024
1 answer
348 views
When start project after install deps I receive this error:
X [ERROR] Could not resolve "pdfjs-dist/build/pdf.worker.entry.js"

    node_modules/@progress/kendo-react-pdf-viewer/PDFViewer.mjs:20:7:
      20 │ import "pdfjs-dist/build/pdf.work...
         ╵        ~~~~~~~~~~~~~~~~~~~~~~~~~~

  You can mark the path
  "pdfjs-dist/build/pdf.worker.entry.js" as 
  external to exclude it from the bundle, which
  will remove this error.


Someone knows about that?


Svetoslav Dimitrov
Telerik team
 answered on 12 Sep 2024
0 answers
85 views

Im using the Gantt Chart libary for React

so what im trying to do is passing a custom date range props in the GanttWeekView

<GanttWeekView dateRange={calculateWeekDateRange}/>

the problem is whenever you pass custom dateRange props to the view, it will cause the date cell on the right not rerender correctly, for example the initial date is 12th September as shown in the pics below


and i change it to 5th, the date doesnt change as shown below,

for some reason i think whenever the custom dateRange passed, it wont rerender the whole Ganttview component if the date changed, any idea how i can fix this?

Nico
Top achievements
Rank 1
 asked on 12 Sep 2024
1 answer
88 views
Currently, I am using a KeyboardEvent to programmatically press the right arrow inside of a DatePicker component.

This example works as expected:


I don't seem to be able to use KeyboardEvents to input numbers into the DatePicker. This example fails:


What is the correct way to programmatically type digits into a DatePicker?
Stoyan
Telerik team
 answered on 06 Sep 2024
1 answer
106 views

Hi,

I'm struggling with one issue, when both options filtering and suggestion are enabled, 'onFilterChange' is not triggering when the last character is filled in.

Code example: https://stackblitz.com/edit/react-tahdg9?file=app%2Fapp.tsx

Steps:

Enter: "1" -> event has been triggered

Enter: "11" -> event has been triggered

Enter: "111" -> event has been triggered

Enter: "1111" -> event has not been triggered

Hit backspace -> event has been triggered

Enter again: "1111" -> event has been triggered

Is it a bug or I'm doing something wrong? ;)

Yanko
Telerik team
 answered on 04 Sep 2024
1 answer
99 views

Hello,

 

I recently inherited an old project which was using v5 Kendo libraries. I have upgraded all of these to the latest as of today but in doing so I now am noticing a 'flash' of data before the correct data is rendered. I'm unable to produce a isolated demo but I will try my best to outline the components as minimally as possible.

 

Before I dive into the code what I have found is that a tableAction of 'getInnerTable' is being called to create and populate the "correct" data and the flash of incorrect data is actually the data supplied to the rowData prop on the Grid component.

 

Here's the code:

interfaceTableProps<T> { title?: string; tableModal?: { onClick: () =>void; text: string }; rowData: T[] | null; gridDefaultState: State; isLoading: boolean; tableActions: { removeItem?: (data: any) =>void; updateItem?: (data: any) =>void; getInnerTable: ( columnField: string, rowData: T[], isLastColumn: boolean, tableActions: { removeItem?: (data: T) => void; updateItem?: (data: T) => void; } ) =>ReactNode; }; children?: ReactNode; hasBorder?: boolean; } constTable = <T extends {}>({ isLoading, title, tableModal, rowData, gridDefaultState, tableActions, children, hasBorder = true, }: TableProps<T>) => { const [columnFields, setColumnFields] = useState<string[] | null>(null); const [gridDataState, setGridDataState] = useState<State>(gridDefaultState); console.log('rowData', rowData); useEffect(() => { if (rowData && rowData.length > 0) { setColumnFields([...Object.keys(rowData[0]), 'Icons']); } }, [rowData]); consthandleGridDataStateChange = (e: GridDataStateChangeEvent) => { setGridDataState({ ...e.dataState }); }; console.log('columnFields:', columnFields); constGridTable = () => { return ( <Grid data={rowData && process(rowData, gridDataState)} sortable={true} {...gridDataState} onDataStateChange={handleGridDataStateChange} selectable={{ enabled: true, mode: 'single', }} > {children} {rowData && columnFields?.map((columnField: string, index) => { console.log('columnField:', columnField); const isLastColumn: boolean = columnFields.length - 1 === index; return tableActions.getInnerTable(columnField, rowData, isLastColumn, tableActions); })} </Grid> ); }; return ( <StyledWrapper noData={!isLoading && !rowData?.length} hasBorder={hasBorder}> {title && <TitleWithButton title={title} buttonData={tableModal} hasBottomPadding />} {isLoading ? ( <SpinnerWrapper> <Spinner /> </SpinnerWrapper> ) : ( <GridTable /> )} </StyledWrapper> ); }; exportdefaultTable;

 

The getInnerTable function:

 


export const getOrganisationInnerTable = <T,>(
  columnField: string,
  rowData: Array<T & OrganisationColumn>,
  isLastColumn: boolean,
  tableActions: {
    removeItem?: (data: T) => void;
    updateItem?: (data: T) => void;
  }
) => {
  if (columnField === OrganisationStyledColumns.organisationName) {
    return (
      <GridColumn
        key={columnField}
        field="title.name"
        title={'Organisation name'}
        cell={(props: GridCellProps) => <OrganisationNameColumn {...props} />}
        columnMenu={(props) => ColumnFilterSearchMenu(rowData, props)}
      />
    );
  }

  if (columnField === OrganisationStyledColumns.createdDate) {
    return (
      <GridColumn
        key={columnField}
        field={columnField}
        title={'Added'}
        filter="date"
        format="{0:dd-MM-yyyy}"
        columnMenu={(props) => {
          return DateColumnFilter(rowData, props);
        }}
      />
    );
  }

  return getInnerTableColumn(columnField, rowData, isLastColumn, tableActions);
};

 

 


Konstantin Dikov
Telerik team
 answered on 04 Sep 2024
1 answer
107 views

Dear  Reciever,

Just curious. Is this link(Globalization Support) up-to-date?
Because some components that are in kendo libraries are not listed in here.

Moreover, is this github repo show the available locale info?

Thanks.
Best Regards.

Yanko
Telerik team
 answered on 03 Sep 2024
1 answer
113 views

Hi,

 

If a Grid column is using number filter, its precision can only be 0.001. Is there a way to increase that?

See this Kendo React official example, the "Unit Price" filter can only take 0.001, not able to take 0.0001.

https://www.telerik.com/kendo-react-ui/components/grid/filtering/

 

I tried changing the column format to "{0:n6}", but it only affect the grid cell, not the filter.

 

Thanks,

Jie

 

Yanko
Telerik team
 answered on 02 Sep 2024
1 answer
134 views

I'm developing a system using React where users can create invoice templates using a drag-and-drop interface. I need help with the following:

  1. Template Storage Format: What is the best format for storing these templates on the backend?

  2. Backend Processing: Once the template is stored, the backend should be able to:

    • Receive the invoice amount and other relevant details.
    • Map these details to the selected template.
    • Generate a PDF based on the populated template.

Could you suggest an approach for handling these tasks effectively?

Konstantin Dikov
Telerik team
 answered on 30 Aug 2024
1 answer
105 views

Hi,

I want to use multiselect filtering for grid, just like in the image. How can I do it ?

Thanks.

 

Konstantin Dikov
Telerik team
 answered on 29 Aug 2024
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
Licensing
TabStrip
Drawing
Calendar
Pager 
Labels 
Localization
TimePicker
GridLayout
FontIcon
Animation
PanelBar
TaskBoard
PivotGrid
Card
DropDownButton
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
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?