Comments (5)
Hi @yashwant-raut
Interesting use case!
Overall, your approach makes sense to me!
A few comments from me:
-
Using React context works just fine here. A bit simpler solution would be to use a pubsub pattern for communication between the grids.
For example, usingmitt()
:const emitter = mitt(); // Send the selected rows in grid 1 emitter.emit('moveRows', { rows }); // Receive the selected rows in grid 2 React.useEffect(() => { const onMoveRows = ({ rows }) => { // ... }; emitter.on('moveRows', onMoveRows); return () => emitter.off('moveRows', onMoveRows); })
-
You have to make sure you don't have duplicated row ids, which is currently the case in the linked demo:
from mui-x.
@cherniavskii Thanks for going thorugh codesandbox and my question.
I have never heard about pubsub pattern for communication between the grids. Thanks for giving me context.
I will go through this and try to implement pubsub pattern. It would be great if you could point me to a link to a hosted example where this pattern is used in MUI datagrid.
"You have to make sure you don't have duplicated row ids, which is currently the case in the linked demo:
"
yes for that part I am thinking about creating a dynamic GUID and assign to the rows.
MUI has this method updateRows
"Is it more appropriate to use this method instead of what I have already done?" does this have more performance benefits?
I am going to handle a large dataset in Grid.
Again thanks for the help.
from mui-x.
@cherniavskii Thanks for going thorugh codesandbox and my question. I have never heard about pubsub pattern for communication between the grids. Thanks for giving me context. I will go through this and try to implement pubsub pattern. It would be great if you could point me to a link to a hosted example where this pattern is used in MUI datagrid.
The pubsub pattern is nothing we came up with, but a software design pattern that can be used in a multitude of ways. Here is a basic overview of the pattern explained: Pub/Sub Pattern. In your case both grids could be publishing and subscribing to the events to allow for a bidirectional interaction
"You have to make sure you don't have duplicated row ids, which is currently the case in the linked demo: " yes for that part I am thinking about creating a dynamic GUID and assign to the rows.
👍
MUI has this method updateRows "Is it more appropriate to use this method instead of what I have already done?" does this have more performance benefits? I am going to handle a large dataset in Grid.
Since updateRows
can be used to update a subset of rows it certainly has perf benefits.
from mui-x.
@michelengelen thanks for the reply will try to implement this way.
from mui-x.
If you have a similar problem, please open a new issue and provide details about your specific problem.
If you can provide additional information related to this topic that could help future readers, please feel free to leave a comment.
How did we do @yashwant-raut?
Your experience with our support team matters to us. If you have a moment, please share your thoughts through our brief survey.
from mui-x.
Related Issues (20)
- [data grid] Date selector in date column filter inconsistent with date picker component HOT 1
- [charts] Support `themeAugmentation`
- [data grid] Remove the unused legacy editing API event `rowEditCommit` HOT 1
- [pickers] Allow to refuse ranges that contains at least one disabled date HOT 4
- Move focus up after an edit when shift enter is pressed
- [pickers] Enhancing User Experience: Introducing Month and Year Selection in Date-Pickers HOT 5
- [TreeView][ESM] package exports are incorrect HOT 4
- Make Loading overlay states change based on data HOT 6
- [pickers] Ensuring Comprehensive Validation for Date and DateTime Range Fields HOT 2
- [charts] Axis min/max does not allow dynamic rescaling of the other Axis when that axis has no min/max set HOT 5
- [pickers] Ineffective Date and Time Validation Despite minTime, maxTime, and disableIgnoringDatePartForTimeValidation Settings HOT 1
- [data grid] Dynamic Aggregation Position HOT 7
- [How to get column widths exact on resize within detail panel based on Data Grid columns] HOT 2
- [data grid] Is it possible to have tree data row children open and under that details panel? HOT 9
- [data grid] Same column in different column groups HOT 8
- ThemeProvider not provide Translation keys. HOT 2
- [Data Grid Premium - Cell Copy and paste] Copied content from cell doesnt mantain the sorting set in the data premium grid HOT 3
- [data grid] Copy and Paste content from cell selection doesn't maintain the sorting set HOT 3
- [charts] labels are incorrect in RTL HOT 3
- [data grid] New DataGrid header style not properly passed to header HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mui-x.