Telerik Forums
KendoReact Forum
1 answer
75 views

https://www.telerik.com/kendo-react-ui/components/grid/data-operations/odata-server-operations/

in the above example could you set the filter option as dropdown "in stock" coloumn so that when user can select the value from the dropdown api call will fire and table data will filtered based on that.

Konstantin Dikov
Telerik team
 answered on 25 Jan 2024
1 answer
176 views

Would love a prop to hideHeader on KendoReact grids!

 

For the same reasons that were enumerated in this 2017 Kendo Angular thread: https://github.com/telerik/kendo-angular/issues/285

- For shared grids that only need 1 header row

- For small grids that have sorting/filtering controls outside of the grid header

Wissam
Telerik team
 answered on 24 Jan 2024
0 answers
161 views

I have a KendoReact grid that shows a custom cell to add tooltips.

My grid code: 

<Tooltip openDelay={100} position="bottom"> <Grid data={process(teams.map((item) => ({ ...item, selected: item.uniqueIdentifier === gridSelection.uid })), gridState)} {...gridState} onDataStateChange={handleGridDataStateChange} onRowClick={handleRowClick} onRowDoubleClick={handleDoubleClick} sortable={true} pageable={true} selectedField="selected">

   <Column
      title={teamname}
      field="name" filter={'text'}
      cell={GridCellTooltip}
      columnMenu={ColumnMenu}
      headerCell={CustomHeaderCell}
   />

But when I filter the grid, the tooltip does not update and retains the value from the previous rendering:

My cell component - GridCellTooltip - is returning the field value in the title attribute:

return (
    <td title={props.dataItem[field]}>
      {props.dataItem[field]}
    </td>
  );

But I can see when I inspect it, that title is not being set and so seems to default to the previous tooltip value for that row.

There is nothing else custom going on and this is all client side sorting, filtering, etc.

Any idea what the issue might be?

SoH
Top achievements
Rank 1
Iron
Veteran
Iron
 asked on 22 Jan 2024
0 answers
81 views

Hi , Here is the code we are using for datetimepicker , kindly have a check , 

 <IntlProvider locale={this.currentLocale}>
                                {isDateTimePicker ?
                                    <DateTimePicker
                                        value={this.state.fieldValue}
                                        onChange={this.changeDate}
                                        width={width}
                                        format={getLocaleDateString(window.navigator.language, isDateTimePicker)}
                                    /> :
                                    <DatePicker
                                        value={this.state.fieldValue}
                                        onChange={this.changeDate}
                                        width={width}
                                        format={getLocaleDateString(window.navigator.language)}                                        
                                    />
                                }
                            </IntlProvider>
Mounikareddy
Top achievements
Rank 1
 asked on 22 Jan 2024
1 answer
383 views

I'm generating a static site with Next.js. When I do so, I get the "No valid license" message on the page with the Grid. I have a valid key, and everything works fine when running the `dev` server. What steps should I take to get this working with SSG?

 

Thanks!

Wissam
Telerik team
 answered on 19 Jan 2024
1 answer
157 views

My application was recently tested for 508 compliance. I have a cascading dropdown section on one form. First dropdown is a standard dropdown and the second is a filterable dropdown. When I select an option from the first, open the second and type, I am unable to navigate to the options to select one with the keyboard.

I was able to replicate this in the example code by making the second dropdown filterable (NOTE: I'm returning all the data when filtering for simplicity). See below:

import * as React from "react";
import * as ReactDOM from "react-dom";
import { DropDownList, DropDownListChangeEvent, DropDownListFilterChangeEvent } from "@progress/kendo-react-dropdowns";
import { dataCategories, dataProducts, dataOrders } from "./data";
import { filterBy } from '@progress/kendo-data-query';

const defaultItemCategory = { categoryName: "Select Category ..." };
const defaultItemProduct = { productName: "Select Product ..." };
const defaultItemOrder = { orderName: "Select Order ..." };

const App = () => {
  const [state, setState] = React.useState({
    category: null,
    product: null,
    order: null,
    orders: dataOrders,
    products: dataProducts
  });

  const categoryChange = (event: DropDownListChangeEvent) => {
    const category = event.target.value;
    const products = dataProducts.filter(
      product => product.categoryId === category.categoryId
    );

    setState({
      ...state,
      category: category,
      products: products,
      product: null,
      order: null
    });
  };

  const productChange = (event: DropDownListChangeEvent) => {
    const product = event.target.value;
    const orders = dataOrders.filter(
      order => order.productId === product.productId
    );

    setState({
      ...state,
      product: product,
      orders: orders,
      order: null
    });
  };

  const orderChange = (event: DropDownListChangeEvent) => {
    setState({ ...state, order: event.target.value });
  };

  const ddlProducts_onFilterChange = (event: DropDownListFilterChangeEvent) => {
    setState({ products: state.products });
  }



  const category = state.category;
  const product = state.product;
  const order = state.order;

  const hasCategory = category && category !== defaultItemCategory;
  const hasProduct = product && product !== defaultItemProduct;

  return (
    <div style={{ display: 'flex', gap: '30px', flexWrap: 'wrap' }}>
      <div>
        Categories
        <br />
        <DropDownList
          style={{ width: '300px' }}
          data={dataCategories}
          textField="categoryName"
          onChange={categoryChange}
          defaultItem={defaultItemCategory}
          value={category}
        />
      </div>
      <div>
        Products
        <br />
        <DropDownList
          style={{ width: '300px' }}
          disabled={!hasCategory}
          data={state.products}
          textField="productName"
          onChange={productChange}
          defaultItem={defaultItemProduct}
          value={product}
          filterable={ true }
          onFilterChange={ ddlProducts_onFilterChange }
        />
      </div>
      <div>
        Orders
        <br />
        <DropDownList
          style={{ width: '300px' }}
          disabled={!hasProduct}
          data={state.orders}
          textField="orderName"
          onChange={orderChange}
          defaultItem={defaultItemOrder}
          value={order}
        />
      </div>
    </div>
  );
};

ReactDOM.render(<App />, document.querySelector("my-app"));

Is this a known issue? Please advise.

Thanks in advance

Filip
Telerik team
 answered on 18 Jan 2024
0 answers
153 views

Hello, 

I added a Tailwind drop-shadow to my KendoReact Card components and noticed that any component with adaptive rendering stopped rendering properly and was bound to the Card.

Here is a Stackblitz example. The bottom card with the green background demonstrates the problem.

https://stackblitz.com/edit/react-hb3jww-fkedu8?file=app%2Fmain.jsx,app%2FCustomCard.jsx,index.html

I also came across this about it being more of a CSS issue than one specific to Tailwind.

https://github.com/tailwindlabs/tailwindcss/discussions/9029

I discovered that I could replace "drop-shadow" with "shadow" for my purposes and everything now works as expected. You can close this ticket. I am submitting this because you guys have been really helpful to me and hopefully this helps someone else in case they run into this strange behavior and start pulling their hair out. There is probably a better place to submit this but I had already started down this path before figuring it out on my own.

Thanks,

Julian

Julian Turner
Top achievements
Rank 1
 asked on 17 Jan 2024
1 answer
167 views
After resizing and reordering the grid, I create a reset button and click it to reset the columns to their initial values, but it doesn't work.
Wissam
Telerik team
 answered on 17 Jan 2024
1 answer
259 views

 

let gridPDFExport;

constexportPDFss= () => {

 
    if (gridPDFExport) {
      gridPDFExport.save();
    }
  };

 

 <PDFExport
paperSize="A4"
forcePageBreak=".page-break"
pageTemplate={PageTemplate}
margin={{
top: "6.5cm",
left: "1cm",
right: "1cm",
bottom: "3.5cm",
}}
ref={(pdfExport) => (gridPDFExport = pdfExport)}
>

 

I am using this type of code, but I have some conditions that can be applied. I am clicking the save print button. The PDF background colour is red. After saving is completed, it can be set to a green colour. How to fix these issue  beacuse I am prrint a PDf is always set a Green color in print time 

Konstantin Dikov
Telerik team
 answered on 17 Jan 2024
1 answer
185 views

Greetings,

I found out that the External filter allows the user to type in the first DropDownList to search for the column name before selecting it.
Is it possible to change the first DropDownList onChange function to delay an action until the user stops typing before triggering the search?

Please help, thanks!

 

Jason

Vessy
Telerik team
 answered on 16 Jan 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
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?