Somewhere on net on one Blog I read a sentence that is "DataGridView something like Boeing 777, but what is goal when I do not know how to fly.
Before I goo deep in creating my projects I wanna know is there alternative for DataGridView in C#.
Something like jQuery in WEB api.
The favors things which I am looking for is that is simple for using, if its posibile to be freeware and looks smoth and modern.
Best regards
Admir
If you want to fly one person across town you can learn to fly a Piper Cub. If you want to fly hundreds across an ocean you need to learn to fly a 777.
There are many ways of displaying data in WinForms applications; which one is best for you depends on what you're trying to do. If you want to show a fixed, non-editable, non-scrollable list of data you can use a DataList; simple and limited. If you want to add scrolling you can output the data to a scrolling textbox.
If you want to handle a scrolling grid of multiple rows with multiple, resizable, editable columns you will need to move to a DataGrid or DataGridView.
There are many alternatives to DataGridViews; simpler controls provide fewer features and more functional controls are more complex.
I have implemented the datagridview extensively as an unbound control in a windows forms project using Visual Studio 2008. Looking back, implementing this control has consumed a large amount of time, mostly because it is loaded with bugs and peculiar behavior that should have been fixed rather than just 'documented'. A good data grid control is essential to any application of substance. I would recommend looking for a third party alternative from a company that is more interested in getting it right rather than just getting something out there.
The DataGridView is perfectly easy to use without going too deep. If all you want to do is display data in a grid, create a DataGridView and turn off features like adding and editing rows. The fact that it's got all of these incredibly complex features is really only an issue when you start needing to use them - and in that case, you'll be glad you're using it.
DevExpress has a really good gridview.
Related
My question might be little strange but I am new to web - based programming. In windows based application, if I need to let the user to edit and view the table then I am using the datagrid. In web - based, there is GridView but it is read only tool. I want to see if there is any tool like this in asp.net. Can you please help?
Thanks
Have a look on the ListView control, basically, It lets you specify methods to show, update, edit and delete records from your datasource.
There are a lot of examples for it. Here's a nice article
If you want your end users to have a little bit better experience then you should consider the alternative to use a javascript based grid, which is a more modern way to build a grid. Then everything executes smoothly in the web browser without the need to post back and reload the page, and the server will only be called when it's really necessary (loading data, saving data) but not when you change a row when it´s being edited, or if you do incremental searches.
My favorite is the Slickgrid. And here is a cool Slickgrid example with Async post rendering.
If you choose the server control way (ListView etc) you will have a lot of postbacks every time you sort, change editing mode in cell or edit data.
Look at this question if you want some more examples of javascript grids.
Does anyone know of a good listview component other than the one included with Visual Studio (as it looks kinda boring)?
Devexpress are good too. http://devexpress.com
(Quick edit missed the Winforms bit). For Winforms controls, I'd recommend Telerik.
If you want to modify the look of your form and controls try DotNetSkin. You can modify controls from existing windows themes or your own controls by modifying it.
If you want a free ListView, you should try ObjectListView, it has a LOT of features.
You better be careful about the license if you want to use it in a commercial product though. See these answers for more information about the license: here and there.
You may try Better ListView.
It has native look and feel. It also supports many nice features, like hierarchical items, multi-column sorting, data binding, three-state check boxes... the list goes on :-)
It is not a ListView wrapper, but self-contained control so it fixes all inherent flaws of .NET ListView (these are enumerated on ComponentOwl's website).
Take into account the 10Tec iGrid control:
Its main features are:
Multi-column sorting with indication in column headers.
Grouping and autofilter are also available.
"Subitems" (cells) can be edited.
Rows can have different heights.
Rows/cells can be formatted dynamically easily.
Built-in incremental search.
TreeListView mode.
No flickering and fast work with 100'000+ rows.
To find out more, start from reading this article:
Editable ListView Replacement
See also other cross-referenced articles on the site.
I started with using a TableLayoutPanel, but when I have big tables, they are extremely sluggish. I'm looking for the responsiveness of an HTML table to display my data in.
The only solution I currently have is to have my WinForm write and HTML table, and display it in an embedded browser. This obviously is a huge workaround, and I'd rather implement a more clean and straightforward solution.
If you have any suggestions, please fire away. (a ListView will not work for what I'm trying to do)
What about using a DataGridView, or if you have DevExpress, a XtraGridControl? TableLayoutPanel is designed for laying out controls as far as I know, not for presenting data.
On the other hand, if your data set grows as large that your tables become sluggish, you might want to narrow down your data, e.g. by filtering or by introducing paging, one page only displaying 50 items or so.
Paging as well as filtering, in turn, is supported at least by XtraGrid, not sure about Microsoft's DataGridView.
You definitely need either a grid or a report, depends on what you want.
Highly customizable grid controls (like Infragistics or DevExpress) allow you to make almost any appearance you need. Users will have no idea they look at grid control.
I need to build a blotter using csharp and WPF. Basically, like an excel sheet but would have the capability of customizing backgrounds of each cell or setting the value of each cell. But not sure where to start.
If anybody build blotters in csharp or WPF, a few pointers on where to get started would be great. If you can suggest some good open source blotters that I can copy and enhance, that would also be great.
I cannot use standard data grids as they lack many of the capabilities I am looking for.
I know windows forms and applications related to that which have standard controls but to create cells that are editable/customizable like excel, not sure where to start....
Take a look at the Adaptable Blotter (www.adaptableblotter.com).
It includes all the functionality that you seek and works with a number of different WPF grid controls, both vendor and open source. There is a single set of screens giving you advanced search, flashing cells, bulk editing etc but with individual implementations for each underlying grid.
You can use a UniformGrid to create the Grid. You can put Textboxes or even more advanced UserControls into the cells.
I'm working on a media library mock-up and I have a database of songs (over 9,000 tracks) that I want to display and make sortable. I'm not sure which GUI control would be best to use and I am not sure how it would be best to add all of the entries to the control.
Obviously using a listview and adding each entry one at a time takes a long time. Currently, the database is returning all of the tracks in an array of media objects (mediaEntry[] - a struct I defined). I don't know much about .NET's databinding system and any performance benefit that may bring.
The database is also searchable so I'll be changing the information displayed in the GUI control depending on the search terms.
Something like DataGridView or ListView in "virtual mode" should work well; this avoids the need to process all the data up-front.
however - I doubt that mediaEntry should be a struct - sounds like a class to me.
It is very rare you write a struct in .NET
The Listview control has a virtual mode, where you supply the viewable data on demand. Its actually easier to use than it sounds. Checkout the VirtualMode property and the RetrieveVirtualItem event.
You may want to give ObjectListView a try. It's very handy to use and has excellent performance when used appropriately.
Note: I'm not the developer of this library, I'm advertising it just because I used it in one of my projects.