Hi,
Do you have any example or advice how we could achieve the 2 scenarios:
1) We put custom filters in the command bar of the grid - one dropdown with categories, one text box with product name search - custom filters, not column filters
We want to make them prepopulated with initial state and grid already filtered when we land on the page - e.g. url is ?categoryId=5&product=MY PRODUCT
And when the grid opens, already in dropdown with Categories a category with id 5 is preselected, and in the textbox already text for filtering MY PRODUCT is entered, and both values are already used as initial query values with the data shown in the grid
2) Also an external link behavior...we have an inline editable grid which has an ID column
And we call the page with something like ?Id=23&mode=edit
Result is that the row with ID = 23 is already in edit model (cells changed to inputs and state of row to edit) for that row with ID 23
We did it in the past with JQuery and ASP.NET with your grids, but would now like to do these 2 scenarios with your KendoReact Grid.
Can these 2 scenarios be done?
Thnx!
Sanja
Ok I actually started asking this question but I think I figured it out in the process of trying to get an example. However, still posting here as I think it could help someone, plus the behavior seems a bit like a bug to me.
What I was trying to do is create a grid with a toolbar with various tools. The list of available tools changes based on if the user is an admin or not (some tools are hidden for non-admins). The basic pseudo-code I'm using for this is as follows:
<Grid ...other options>
<GridToolbar>
<Button ... />
{ isAdmin && <Button ... /> }
</GridToolbar>
{ ... columns }
</Grid>
Basically, making the second button conditional on a variable (in this case a props bool variable that is passed to the component). This works just fine on the page and it renders properly based on that variable. However, when you export to Excel you get this error:
Uncaught TypeError: Cannot read properties of undefined (reading 'children')
at ExcelExport._this.extractChild (ExcelExport.js:55:1)
at ExcelExport.js:47:1
at Array.map (<anonymous>)
at ExcelExport._this.extractColumns (ExcelExport.js:45:1)
at ExcelExport._this.extractChild (ExcelExport.js:54:1)
at ExcelExport.js:47:1
at Array.map (<anonymous>)
at ExcelExport._this.extractColumns (ExcelExport.js:45:1)
at ExcelExport.workbookOptions (ExcelExport.js:138:1)
at ExcelExport.toDataURL (ExcelExport.js:119:1)
The toolbar shouldn't have anything to do with the Excel export so I would consider this a bug. The workaround I have found is to return an empty div if the tool should not show up. Like this:
<Grid ...other options>
<GridToolbar>
<Button ... />
{ isAdmin ? <Button ... /> : <div /> }
</GridToolbar>
{ ... columns }
</Grid>
Hi KendoReact team.
I have a question about locked columns. The second column slides under the first column and is transparent for the following columns. We use the following version ^5.12.0 of the "@progress/kendo-theme-default" package.
Issue
Code snippet
return [
<Column
key="SelectHeader"
field={GRID_SELECTED_FIELD}
filterable={false}
width="50px"
locked
headerSelectionValue={dataResult.data.findIndex((item) => !selectedState[item.Id]) === -1}
/>,
columnForField<SomeType>("SomeProp", {
title: "Title",
width: defaultColumnWidth,
locked: true,
columnMenu: RelationProjectStateColumnMenu,
cell: relationProjectStateEnumCell,
}),
I have created a custom DropDownLists component, but I am facing some issues with implementing cascading DropDownLists. Specifically, I need assistance in ensuring that when the billing type is set to "cash," the fields for "BILLING_CYCLE," "CREDIT_LIMIT," "CREDIT_BALANCE," and "INTEREST" are disabled. However, when a different option is selected for the billing type, those fields should be enabled. Could you please review the provided code and provide guidance on how to achieve this functionality?
I'm trying to find a way to be able to wrap the text of a category label if it exceeds a certain character limit. For example,
"This really long category label"
would become
"This really
long category
label"
if it were limited to 15 characters per line. Is there a way to do this either with the default label or with a custom renderer?
I have a pretty involved Grid I'm building that involves both grouping and detail rows.
The documentation uses setExpandedState with an array of collapsedIds. This sets the 'expanded' field for everything in the grouped data. It even sets the 'expanded' field for the actual grid rows.
I would like to be able to toggle the detail row and hide it, but in order to do that, I have to create a 'groupId' property for each grid row entry so that setExpandedState doesn't assign 'expanded' as true.
Is there a different way to do this? It seems odd that I would have to set a 'groupId' property each grid row's data when it is not itself a group.
Just upgraded and tested with 5.14.0, but it happened in 5.13 as well.
Hello guys,
I realized that it's not possible to destructure the useLocalization hook, when destructure, it causes an error. I made an example to demonstrate the problem.
xenodochial-dan-prqfvt - CodeSandbox
Is this actually expected or is it just a bug?
Thanks,
Gabriel.
I am using @progress/kendo-react-form with @progress/kendo-react-inputs to create a form. I am using the form to edit existing data, and to add new records as well, populated from and saved to a db server.
To get the data for existing records to display, I am using defaultValue for each input. However, when trying to validate the form, validation only registers that the form element actually has data when it has been changed through user input.
So if I open a form and change one field, other fields that had not been changed, and which still show the defaultValue value, are considered invalid.
What is the best practice way to use form validation on a form used for editing existing data?
Here is a really simple example:
https://stackblitz.com/edit/react-5phafx