Telerik Forums
KendoReact Forum
7 answers
218 views

Two specific questions:

1. Does react kendo grid support a filter button in the same cell as the header cell? As in the jquery demo here: https://demos.telerik.com/kendo-ui/grid/filter-menu-customization. I could not find a filterable.mode property in the kendo components.

2. Does the react kendo grid support multi-column support? As in the jquery demo here: https://demos.telerik.com/kendo-ui/grid/multicolumnheaders

 

A more general question:

3. Are there other known limitations between the different implementations? I realize that's a complicated question.

Stefan
Telerik team
 answered on 11 Oct 2018
1 answer
152 views
Has anybody been able to make a static row either at the top or the bottom of their grid? I am working on a time entry application and would like to have a static row in order to show totals for each day of the week. Is something like this possible?
Stefan
Telerik team
 answered on 08 Oct 2018
8 answers
182 views

Hello,

Straight to the problem:

My parent component prepares the data for the Gantt

async componentDidMount() {
    const items = await this.utility.GetListItems();
    const taskDataSourceWithInformation = await this.utility.GetKendoGanttDataSource(items);
    this.setState({
      data: taskDataSourceWithInformation,
      allProjects: items
    });
  }
public render(): React.ReactElement<IGanttViewProps> {
    const result = this.state.data ? (
      <div>
        <IconButton onClick={() => this.setState({showPanel: true})} />
        <GanttContainer data={this.state.data} />
      </div>
    ) : null;
    return result;
  }

 

First problem: When I click the button, that sets the showPanel variable to true (it does only that), the Gantt loses all its data, then when I click one of the Gantt view buttons, the data shows back.

However, i managed to workaround that with this method (i am not proud of it). I will appreciate it, if you give me better solution.

private onFilterButtonClick = async () => {
  this.selected = $("li.k-state-selected");
  this.setState(
    {
      showPanel:true
    },
    () => {
      $("li." + this.selected[0].classList[1]).click();
    }
  );
};

 

Ok. Now i want to filter my Gantt data. When i pass different, filtered data source to the "GanttContainer" components (which contains the Gantt), it does not update.

I tried to set it with setDataSource, but i dont know where that must happen and how to do it.

Can you help me with both my problems please.

 

Best Regards!

thanik
Top achievements
Rank 1
 answered on 05 Oct 2018
4 answers
195 views

Hello,

Is it possible to use functional HOC for CustomGridDetailRow like the one provided in the documentation (below) which is not leading to extra rendering of GridDetailRow?

Or it's a must to use only an instance of React.Component class/GridDetailRow class?

 

class CustomGridDetailRow extends GridDetailRow {

    render() {

        const detailData = this.props.dataItem.MasterField2;

        return (

            <div> This is detail template with another grid inside it <Grid scrollable="none" data={detailData} /></div>

        );

    }

}

 

<Grid data={this.state.data} detail={CustomGridDetailRow} >

    <GridColumn field="MasterField1" />

</Grid>

 

The point is that if I try to use functional HOC inside detail prop (or just a function returning CustomGridComponent) there're some issues with rendering DetailRow (like additional re-rendering during scrolling). It seems that this variable inside detail property should be an instance of React.Component/GridDetailRow class, otherwise Grid component can't perform some internal logic based on lifecycle hooks.

 

Thanks in advance for any response.

Pavel
Top achievements
Rank 1
 answered on 04 Oct 2018
2 answers
341 views

I'm using the Kendo React Grid and Kendo React DateInput in an application and both, upon replacing the wrapped grid/DateInput components began causing my Jest tests to fail, not even rendering the mounted component.

Every test suite that mounts a component with a DateInput or Grid in the component tree fails with this error:

TypeError: _this.element.setCustomValidity is not a function
 
      124 |     ...passedProps,
      125 |   } as any;
    > 126 |   wrapper = Enzyme.mount(
          |                    ^
      127 |     <Provider store={store}>
      128 |       <MyComponent {...props} />
      129 |     </Provider>
 
      at DateInput._this.setValidity (node_modules/@progress/kendo-react-dateinputs/src/dateinput/DateInput.tsx:387:26)
      at DateInput.Object.<anonymous>.DateInput.componentDidMount (node_modules/@progress/kendo-react-dateinputs/src/dateinput/DateInput.tsx:150:14)
      at commitLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:14685:22)
      at commitAllLifeCycles (node_modules/react-dom/cjs/react-dom.development.js:15905:7)
      at HTMLUnknownElement.callCallback (node_modules/react-dom/cjs/react-dom.development.js:145:14)
      at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:193:27)
      at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:119:9)
      at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:82:17)
      at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js:30:27)
      at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:157:21)
      at Object.invokeGuardedCallbackDev (node_modules/react-dom/cjs/react-dom.development.js:195:16)
      at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:248:31)
      at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:16075:7)
      at completeRoot (node_modules/react-dom/cjs/react-dom.development.js:17463:3)
      at performWorkOnRoot (node_modules/react-dom/cjs/react-dom.development.js:17391:9)
      at performWork (node_modules/react-dom/cjs/react-dom.development.js:17295:7)
      at performSyncWork (node_modules/react-dom/cjs/react-dom.development.js:17267:3)
      at requestWork (node_modules/react-dom/cjs/react-dom.development.js:17155:5)
      at scheduleWork (node_modules/react-dom/cjs/react-dom.development.js:16949:5)
      at scheduleRootUpdate (node_modules/react-dom/cjs/react-dom.development.js:17637:3)
      at updateContainerAtExpirationTime (node_modules/react-dom/cjs/react-dom.development.js:17664:10)
      at updateContainer (node_modules/react-dom/cjs/react-dom.development.js:17691:10)
      at ReactRoot.Object.<anonymous>.ReactRoot.render (node_modules/react-dom/cjs/react-dom.development.js:17957:3)
      at node_modules/react-dom/cjs/react-dom.development.js:18097:14
      at unbatchedUpdates (node_modules/react-dom/cjs/react-dom.development.js:17518:10)
      at legacyRenderSubtreeIntoContainer (node_modules/react-dom/cjs/react-dom.development.js:18093:5)
      at Object.render (node_modules/react-dom/cjs/react-dom.development.js:18152:12)
      at Object.render (node_modules/enzyme-adapter-react-16/build/ReactSixteenAdapter.js:314:114)
      at new ReactWrapper (node_modules/enzyme/build/ReactWrapper.js:119:16)
      at Object.mount (node_modules/enzyme/build/mount.js:21:10)
      at generateMountedWrapper (ts/apps/myApp/components/MyComponent.test.tsx:126:20)
      at Object.<anonymous> (ts/apps/myApp/components/MyComponent.test.tsx:330:5)

IT Dept
Top achievements
Rank 1
 answered on 26 Sep 2018
1 answer
88 views
Official documentation regarding Master-Detail Grids states:

"To apply a hierarchical order to the desired records, use the detail property of the master Grid".  Would it be possible to define detail component in declarative way as we do for GridNoRecords for example to pass it any props?

              <Grid
                    style={{ height: '550px' }}
                    data={this.state.categories}
                    expandField="expanded"
                    onExpandChange={this.expandChange}
                >
                    <Column field="CategoryID" title="ID" width="50px" />
                    <Column field="CategoryName" width="200px" title="Category Name" />
                    <Column field="Description" />
                    <DetailRow>
                          <DetailComponent />
                    </DetailRow>
                </Grid>


Stefan
Telerik team
 answered on 25 Sep 2018
2 answers
84 views

I just upgraded to use the react editor wrapper. The editor is showing up but not all options are available. These are the options I am passing, but it looks like it is just showing the default options. Any ideas?

options: {
tools: [
'bold',
'italic',
'underline',
'strikethrough',
{
name: 'foreColor',
palette: [
'24282D',
'F4F4F4',
'FFD200',
'F04C3E',
'00B050',
'363A3F',
'74777D',
'E4E5E7',
'F2C700',
'EB2D1E',
'FFFFFF',
'237932',
'33373b',
'676A6F',
'D9DADB',
'E5BD00',
'D71E0F',
'21852E',
'0070C0',
'44494F',
'81858B'
]
},
{
name: 'backColor',
palette: [
'24282D',
'F4F4F4',
'FFD200',
'F04C3E',
'00B050',
'363A3F',
'74777D',
'E4E5E7',
'F2C700',
'EB2D1E',
'FFFFFF',
'237932',
'33373b',
'676A6F',
'D9DADB',
'E5BD00',
'D71E0F',
'21852E',
'0070C0',
'44494F',
'81858B'
]
},
'formatting',
'fontSize',
'subscript',
'superscript',
'justifyLeft',
'justifyCenter',
'justifyRight',
'justifyFull',
'insertUnorderedList',
'insertOrderedList',
'indent',
'outdent',
'createLink',
'createTable',
'addColumnLeft',
'addColumnRight',
'addRowAbove',
'addRowBelow',
'deleteRow',
'deleteColumn',
'cleanFormatting',
'print'
],
pasteCleanup: {
all: false,
css: false,
keepNewLines: false,
msAllFormatting: true,
msConvertLists: true,
msTags: true,
none: false,
span: false
}
}

Stefan
Telerik team
 answered on 20 Sep 2018
5 answers
112 views
The problem with virtual scroll feature is that Grid doesn't take into account expanded details when fires onPageChange event. It's better shown in this example which is based on VirtualScroll official example with added detail component: https://stackblitz.com/edit/react-klm9yt?file=app%2Fmain.js

The problem is that when you scroll the grid down and then try to scroll up the grid content either quickly jumps or get stuck.
Apart from the example in Stackbtitz, I've put together the short video to clarify the issue.





Stefan
Telerik team
 answered on 18 Sep 2018
1 answer
181 views

Can anyone confirm if the Kendo React Grids are supposed to be compatible with the Kendo Less Styles? When I attempt to use them with a compiled set of styles from the Kendo LESS sources in the @progress/kendo-ui package, the react grids filter blocks render in a broken, inoperable way as the Less style rules react badly with the classes on the filter cells.

The SASS themes work with it, but don't work with the Relerik Reports views.

Stefan
Telerik team
 answered on 18 Sep 2018
1 answer
871 views

I will sometimes see the wrong tooltip label in cells on my grid. I want the tooltip to appear on the hover anywhere in a particular td that has messages to display. These messages are based on props of the dataItem being available. There are a few problems.

  1. Sometimes the tooltip will show the wrong content
  2. The tooltip jumps between the td and the svg/path from fontawesome-react. The svg/path does not have a title so I don't understand why it anchors there instead of the td.
  3. My grid is inside a splitter. Sometimes the tooltip will jump to the top/left of the splitter pane and be visible while I am in edit mode.

1 & 2 are visible/reproducible in my stackblitz. I have been unable to replicate 3 in stackblitz so I was wondering if it was related to my splitter (not implemented in stackblitz to save time..)

Ideally I would only have one <Tooltip component for my grid but it becomes unnatural to me to have to iterate state from the Grid component instead of at the cell level. I do want the tooltip to be interacted with via the icon when in edit mode as well but I have not implemented that here. Is there a better approach that preferably avoids the use of globals?

Stefan
Telerik team
 answered on 18 Sep 2018
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?