Open zealeyes opened 3 years ago
Will there be a Maui native DataGrid control? This is a fundamental control for LOB apps. It would really help the migration of LOB apps to a cross platform framework. Being dependent on a 3rd party library for this makes Maui a non-starter
Nothing is planned right now. If you need it please check with third-party vendors that have great solutions in place. We will keep this issue here as a feature request for the future.
Most mobile apps are data-driven apps, the DataGrid control will make it easy to port them to MAUI and Windows mobile.
Without datagrid in maui I will stay with WPF. Shouldn‘t something new be better than the predecessors?
Shouldn‘t something new be better than the predecessors?
Absolutely. But better does not mean more/new controls. In .NET MAUI we already gain a completely new architecture, performance gains, single-project approach, better resource management and much much more.
If you are happy with WPF, definitely keep doing that! Also note that I said this is not planned right now, simply because we are already pretty busy with the things I just mentioned. That doesn't mean it will never come.
In the meanwhile, I'm afraid this specific feature request is a bit thin. There are a lot of different DataGrids out there with all different features. If anyone wants to pitch in here, could you please add more details on what features this DataGrid should have according to you? Please be as detailed as possible with maybe some pseudo code, screenshots or whatever you could come up with.
Thanks!
Shouldn‘t something new be better than the predecessors?
It should at least be equal...
Been equal doesn't mean anythinks. It have some problems like the lack of datagrid. But have a lot of advantage like new platform (Windows & mac).
Datagrid are not hard to do depending on how much feature you want to do (filtering, moving column around, Grouping by one column (Pick by the user), can be complex to do and maintain). You have solution Devexpress$, Telerik$
Absolutely. But better does not mean more/new controls. In .NET MAUI we already gain a completely new architecture, performance gains, single-project approach, better resource management and much much more.
Specially the datagrid was in dire need of performance gains. Locking the UI thread for a couple seconds just to display a datagrid with 30-40 columns/30 rows isn't acceptable. Yes I do quite a bit of tinkering with the autogenerated columns, but the main cpu hog for me is WPF RenderMessageHandlers (collapsing columns isn't handled properly i think).
And the datagrid is essential for any productive software used in small/middle (probably big too) business anyway. Nothing provides a quick overview over multiple entries like a nice datagrid. Don't think only tablets and phones, there are still PC's out there too.
The most reason of trying to use winui not maui is the lack of datagrid, but i tried to using wpf becuse some winform control can't be migrated in my product. by the way, the lack is also be in winui.
About DataGrid key features, I think the following should be supported:
+1 on this absolutely essential control. Any semblance of a business application requires the ability to display data in a Grid like we've gotten used to in WPF. With it missing Maui is a complete non-starter.
what a shame, the data grid is absolutely essential for any application using data / presenting data. It is an essential block to every application really. It is a massive put off to go to third party vendor for developers who try to build their first apps. The amount of money (to buy the 3rd party control) or the amount of time (to develop their own data grid) for such a basic presentation layout just makes it not worth it at all to spend your time in .NET MAUI.
Shouldn‘t something new be better than the predecessors?
Absolutely. But better does not mean more/new controls. In .NET MAUI we already gain a completely new architecture, performance gains, single-project approach, better resource management and much much more.
If you are happy with WPF, definitely keep doing that! Also note that I said this is not planned right now, simply because we are already pretty busy with the things I just mentioned. That doesn't mean it will never come.
In the meanwhile, I'm afraid this specific feature request is a bit thin. There are a lot of different DataGrids out there with all different features. If anyone wants to pitch in here, could you please add more details on what features this DataGrid should have according to you? Please be as detailed as possible with maybe some pseudo code, screenshots or whatever you could come up with.
Thanks!
Sorry for the long wait. I like the datagrid from WPF but I always run into the same problem. Handling big data the smart way. So data and visual virtualisation is definitely a must. The amount of data per app is rising. Showing 50 items out of 15 million without paging is always a request I get from the customers. So what I need is a simple datagrid (kind like a table which I can extend the way I want). Extensions for the new datagrid like Caching, Virtualizing, Filter, ExportAndTransform would be great to create the best experience without compromising performance for my customers. Not all need all features at the same time.
Any update?
Can't believe they not included datagrid.
it is needed no doubt!
it is needed no doubt!
maui is futureless, just to uno or avalonia.
It's hard to imagine a UI framework without a datagrid. This is clearly not a mature framework.
A datagrid is differently needed. A datagrid is used so often when displaying data like a list.
To be honest, I would be happy with just the option to show/hide border on the Grid, or on the grid columns/rows, and also change the color. This would be enough to work with, and wouldn't be so complex as creating a whole new control.
To be honest, I would be happy with just the option to show/hide border on the Grid, or on the grid columns/rows, and also change the color. This would be enough to work with, and wouldn't be so complex as creating a whole new control.
If they for some reason do not want to make a datagrid, this would definitely be a good alternative
I'm using DevExpress Data Grid, but to be honest, it's kinda sad to depend on external libraries for such basic functions.
this for disply only how i can make invoice by this grid
we needs DataGrid in MAUI like datagrid of silverlight it is easy for using
the state of MAUI.. what a joke framework
just turn to uno platform, friend.
---Original--- From: @.> Date: Sun, Oct 22, 2023 03:49 AM To: @.>; Cc: @.**@.>; Subject: Re: [dotnet/maui] [Enhancement] DataGrid Control (#1259)
the state of MAUI.. what a joke framework
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>
I hope MAUI will be more advanced with DataGroupGird functionality, making it easier to develop enterprise level applications. But our hopes cannot be too high, so we lower our expectations and hope to see the basic features of DataGird in the next version (. NET 9).
+1 on this, it is one of the major reasons our org is not migrating to MAUI and is considering non-.NET options for future Android app development
I'm just horrified that there is no DataGrid. They suggest using third-party solutions that are very expensive, what’s the point of buying a third-party solution for the sake of one control?
The DevExpress .NET MAUI Controls are available free-of-charge: https://www.devexpress.com/maui/ There is also a Data Grid.
The DevExpress .NET MAUI Controls are available free-of-charge: https://www.devexpress.com/maui/ There is also a Data Grid.
Until may. If you still develop after. Good luck.
I agree a datagrid is a must have. It would be great to have that control inside the community toolkit.
Sent from my T-Mobile 5G Device Get Outlook for Androidhttps://aka.ms/AAb9ysg
From: Geraud Fabien @.> Sent: Tuesday, March 12, 2024 12:54:57 PM To: dotnet/maui @.> Cc: upswing1 @.>; Comment @.> Subject: Re: [dotnet/maui] [Enhancement] DataGrid Control (#1259)
The DevExpress .NET MAUI Controls are available free-of-charge: https://www.devexpress.com/maui/ There is also a Data Grid.
Until may. If you still develop after. Good luck.
— Reply to this email directly, view it on GitHubhttps://github.com/dotnet/maui/issues/1259#issuecomment-1992125383, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIGJPKL4ZJF53WH4DRQ2BG3YX4XODAVCNFSM46P2E5LKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJZGIYTENJTHAZQ. You are receiving this because you commented.Message ID: @.***>
We have a few options for data grids using 3rd party tools. But it's good to have with MAUI
The DevExpress .NET MAUI Controls are available free-of-charge: https://www.devexpress.com/maui/ There is also a Data Grid.
Unfortunately, the DevExpress data grid does not support the Win platform, Android and iOS only :( Besides, I tried the SyncFusion data grid, and It seems to work but has intractable problems on the Win platform (generates only checkbox columns, empty column headers etc.)
It seems that third party vendors only sharpen their MAUI control sets for mobile platforms. :(
We do not use third party controls due to the nature of our .NET MAUI app, therefore not having a data grid out of the box is not ideal.
A data grid is a very complex component. It can contain millions of rows. It should include functions like sorting, filtering, grouping, updates, inserts, deletes, data validation, export, virtualization etc. To be fair that should not be the scope from maui. They should focus on basic controls/layouts. Buttons, Labels, Lists.
Depend on your use case, you can create a grid layout or a CollectionView or a combination of grid and collectionview to create a matrix. If this is not enough you could try UraniumUI GridView or https://github.com/akgulebubekir/Maui.DataGrid . If this is still not enough try DevExpress free version. If you want all features/support for free you are at a dead end. ATM there is not such a control. The MAUI Team has limited resources to fix basic things. So it's unrealistic that they will develop a DataGrid.
Its crazy to believe MS once upon a time actually made winforms and even had a datagrid.. A what you see is what you get ui builder with rich components provided
now they struggle to make basic controls/layouts. Buttons, Labels, Lists... no wonder Windows 11 and 12 are such garbage OS's, at this rate of decline Linux might actually have a desktop OS at the levels of Windows XP.. and we can make cross platform crapps with all basic button shit for every platform... idiocracy ui's here we are.
The community demand for this feature is evident from numerous comments in this thread. This is a must have control to support the creation of robust, enterprise-level applications. A DataGrid is a fundamental component for data analysis.
While third-party solutions exist, they often lack the deep integration and performance optimizations that an official control can provide. Maui also target desktop applications so can you imagine developing a desktop application using WPF and being told to just go ahead and use a third-party component? This is where we are with Maui controls; "yes, you can develop for windows, but we will not provide you with the fundamental controls to be competitive with WPF."
something needs to happen, and the sooner the better!
Beyond the DataGrid, the addition of TabView, TreeView, and DockPanel is also necessary. These controls are fundamental for creating complex and dynamic user interfaces. Integrating these controls natively into .NET MAUI is necessary for developers building modern, cross-platform applications and targeting Windows. I understand that these controls apply more to a desktop app and not necessarily for a mobile app. But if Maui is going to have the great future that it deserves, it is time to add these to the list of available components.
Bump this thread. It has been 3 years and people still ask for it.
DataGrid is needed.
I started playing with .NET MAUI a few months ago and soon became aware of the fact that MAUI doesn't contain a data grid control. So I created a data grid control from scratch as a side project.
The control is still in its early phase => I'd really appreciate your feedback. This is what I tried to achieve so far:
Column width types (https://monsalma.net/monsalma-controls-for-net-maui/monsalma-data-grid-for-net-maui-column-width/) I'm coming from the WPF world (and some other worlds), so I'm used to fixed column width (in DIU/DIP), star () column width and Auto (fit content) width. For my data grid control I introduced the 4th width type - fixed percentage. This is nice when we want to, for instance, ensure that one column takes 50% of the width, and the rest of them take the rest (perhaps ).
Minimum and maximum column width (https://monsalma.net/monsalma-controls-for-net-maui/monsalma-data-grid-for-net-maui-column-width/) These can be fixed values (in DIU) or fixed percentage. The fixed percentage option is pretty nice in my opinion.
Virtualization (https://monsalma.net/data-grid-for-net-maui-version-1-0-3-released-supporting-ui-virtualization/) Only subset of rows is loaded and rendered. The logic is explained in the linked post above. I'd like to emphasize that virtualization works when all rows have the same height, but also when they have variable height. Similarly, it works when column widths are predetermined (fixed width, fixed percentage and star), but also when they are not (fit content width type).
Templated columns
The initial idea was to create a text column (with Label
), editable text column (with Entry
) and so on. I still plan to create more basic column types, but first I wanted to play with templated columns, as this is the most complex feature. My templated columns are defined with regular (read-only) and edit data templates. For instance, regular template can contain only Image
and Label
, and edit template can contain only Entry
.
Scrolling
The control internally contains a ScrollView
control, so scrolling support (both vertical and horizontal) is embedded.
Single selection and multiple selection
Show/hide header row
Row styling - header row, odd row, even row, selected row
Here are some links I hope you'll find useful:
NuGet package: https://www.nuget.org/packages/Monsalma.Maui.Controls
Web site (more info about the control): https://monsalma.net/ There already is some data grid related content, but I'm aware of the fact that more detailed documentation is needed. I'll keep working on that.
GitHub (samples): https://github.com/Monsalma/Monsalma.Maui.Controls I hope samples will compensate, to a point, the lack of detailed documentation.
Thanks in advance for your feedback!
I started playing with .NET MAUI a few months ago and soon became aware of the fact that MAUI doesn't contain a data grid control. So I created a data grid control from scratch as a side project.
The control is still in its early phase => I'd really appreciate your feedback. This is what I tried to achieve so far:
- Column width types (https://monsalma.net/monsalma-controls-for-net-maui/monsalma-data-grid-for-net-maui-column-width/) I'm coming from the WPF world (and some other worlds), so I'm used to fixed column width (in DIU/DIP), star () column width and Auto (fit content) width. For my data grid control I introduced the 4th width type - fixed percentage. This is nice when we want to, for instance, ensure that one column takes 50% of the width, and the rest of them take the rest (perhaps ).
- Minimum and maximum column width (https://monsalma.net/monsalma-controls-for-net-maui/monsalma-data-grid-for-net-maui-column-width/) These can be fixed values (in DIU) or fixed percentage. The fixed percentage option is pretty nice in my opinion.
- Virtualization (https://monsalma.net/monsalma-controls-for-net-maui-version-1-0-3-released-now-supporting-ui-virtualization/) Only subset of rows is loaded and rendered. The logic is explained in the linked post above. I'd like to emphasize that virtualization works when all rows have the same height, but also when they have variable height. Similarly, it works when column widths are predetermined (fixed width, fixed percentage and star), but also when they are not (fit content width type).
- Templated columns The initial idea was to create a text column (with
Label
), editable text column (withEntry
) and so on. I still plan to create more basic column types, but first I wanted to play with templated columns, as this is the most complex feature. My templated columns are defined with regular (read-only) and edit data templates. For instance, regular template can contain onlyImage
andLabel
, and edit template can contain onlyEntry
.- Scrolling The control internally contains a
ScrollView
control, so scrolling support (both vertical and horizontal) is embedded.- Single selection and multiple selection
- Show/hide header row
- Row styling - header row, odd row, even row, selected row
Here are some links I hope you'll find useful:
- NuGet package: https://www.nuget.org/packages/Monsalma.Maui.Controls
- Web site (more info about the control): https://monsalma.net/ There already is some data grid related content, but I'm aware of the fact that more detailed documentation is needed. I'll keep working on that.
- GitHub (samples): https://github.com/Monsalma/Monsalma.Maui.Controls I hope samples will compensate, to a point, the lack of detailed documentation.
Thanks in advance for your feedback!
This looks great! I will have to try it at some point. What is the license like? It it free to use? Do you need credit when its used and if so how?
The license is GPL-3.0-or-later. It is free to use, but not open source (it could become in the future). I don't ask for any credit, it's up to you.
Thanks for trying it out!
@jfversluis It has been over 3 years since this initial request. Has there been any movement here? Even a non-edit datagrid would make a big difference
@omnilogix No news on this front. We don't have a first-party data grid control planned for the foreseeable future. Above some great options you can use today are mentioned!
Summary
Please provide a datagrid control.