I would like a JavaScript UI library that can create a Data Grid that fully supports variable row height. I.e. each row can have a different row height that automatically adapts to fit the content, and lets the text wrap to the next line.
I have seen people looking for this feature in many free libraries(e.g. SlickGrid), but it took me quite a while to find some viable alternatives. I would prefer ones that are free for commercial use, but I would also consider paid products.
I looked into this in some detail, and found the following results:
Of all the alternatives, I have only found one that is free for commercial use - [dojox DataGrid][1], however it is not clear how you could use custom editors with this (most commercial ones offer this).
There are quite a few viable alternatives that require payment for commercial use: dhtmlxGrid, jQuery EasyUI DataGrid, jQWidgets, Wijmo Grid widget, JideTable, and Sencha ExtJS Grids.
Of these, I would personally say the best is dhtmlxGrid http://dhtmlx.com/docs/products/dhtmlxGrid/ - Free version is GPL, Pro version is $199.
More detailed notes are below:
dhtmlxGrid supports wrapping, rich text, many data sources, event handlers, custom editors. Looks like it has solid documentation and support forums.
Free version has "Ability to create custom cell editors", "Inline cells editing", etc. Comparison with pro.
Free version does not have "Multi-line footers", "Colspans and rowspans", some serialisation options (XML). Does not appear to be a problem.
Over 100 samples.
Free version is GPL (use with care!). Pro version is $199.
They also have a separate Rich Text Editor. Free. dhtmlxeditor. The docs show more buttons.
Discussion of using dhtmlxGrid with dhtmlxeditor. Should be possible. They had some trouble, but last version might work.
Integration with dhtmlxDataStore might be useful.
Providing Undo/Redo Operations might be useful. Requires pro version.
Built-in Cell Editors: Search for "Usage of Cell Editors (eXcell)" in here (samples here) and "Define new Cell Editors (eXcell)" here.
I would say this is the best solution. Though a little doubt on Editors.
dojox DataGrid looks ok. Not as good as dhtmlxGrid. Supports wrapping, rich text, some data sources, some event handlers. But unclear on custom editors.
Sencha ExtJS Grids. Requires a Commercial License. Price is $3,225 for up to 5 developers.
jQuery EasyUI DataGrid looks okish, but a bit simple. Supports
autoRowHeight, rich text, json import (but no others?), event
handlers.
Free version is GPL (be careful!) - Pro version is
$449.
Probably a good solution, though a little doubt on Editors and export.
jQWidgets has auto row height, but is not free for commercial
use ($199).
Wijmo Grid widget (wijgrid) has auto row height, but
costs $495.
JideTable has auto row height, but costs $99. Doesn't
look as solid as others.
It is worth noting that GPL may be ok if your only users are staff that have to log in to access it - apparently GPL only requires you to give source to people who use it (but you should confirm this yourself).
Related
I am looking for an equivalent of a grid control in Rebol, to display some table data.
I came across this script: face-grid.r
...and its associated demo: face-grid-demo.r
This seems to be an excellent start. Does anyone know if there is some active and/or newer version of this grid, or something similar?
Depending what you need exactly.
Brett's datagrid is a bit basic. For example, it does not handle scrollers by itself.
Henrik has done a list-view with tons of features. Maybe it can be a choice for you :
list-view.
But there are also different list styles part of the VID extension kit from the same author.
Here is the list documentation.
All are for Rebol2.
There are many grids and framework to choose from. A Google search for CSS frameworks will return a dozen articles that themselves list a number of frameworks to choose from.
When it comes to choosing one, it's easy to be lost without having an intimate knowledge of all of them.
What are the main factors that go into choosing a CSS framework, and how will those choices map to certain frameworks?
More generally, how does one choose a CSS framework?
Note 1: I'm using "grid" and "framework" almost interchangeably here, but there is probably one I should use over the other. Corrections on this are welcome.
Note 2: I am well aware that some choices will depend on taste and accordingly, this question can turn into a "best of" contest/subjective topic. I'm trying to keep it as answerable as possible, as I'm pretty sure many have this problem/question of choosing a framework and an answer to that would benefit the community. As such, improvements to this question are welcome rather than just closing it.
When choosing a framework, consider the following questions :
Language : Some frameworks are written in SASS. Others are written in LESS. Yet others are written in pure CSS. Pick a framework written in a language you're most comfortable working with.
Features : Some frameworks offer just a grid. Others add typography. Yet others add a whole bunch of custom UI elements. Pick a framework that corresponds best with the features you want. You don't want a framework with either too few features or one that's bloated and contains many features you never intend to use.
Modularity : You don't want to overwrite 50% of the framework's output with your own custom code. If you do pick a framework that has many more features than the features you need, make sure it's modular enough to easily get rid of much of the code bloat.
Responsiveness : Pick a responsive grid if you want your page to be responsive.
Cross-browser support : If your project needs to support older browsers, make sure you pick a framework that supports all browsers you need to support.
I built my own framework Cascade Framework because none of the frameworks out there answered those questions the way I wanted them to. Feel free to check it out.
The first thing to start with are the requirements and goals of your web project.
1. Do you target only a mobile audience?
If you want a Web-App, you'll need more than a CSS framework, a mobile framework that combines look and feel for specific target devices' UI with functional elements by means of Javascript. The next decision will be if the framework better supports smaller smartphone screens, tablet screens or both.
If you don't need the more functional Web-App approach the way to go are frameworks that are responsive. You will have to concentrate on how you want to arrange and order certain page elements on different screen resolutions and what page elements can be turned off on the smaller resolutions. (This sometimes leads to political debates with the stakeholders debating around what is (more) important and what not).
2. Do you target both mobile and desktop audience?
You want a framework that supports reponsive or fluid layouts for greatest support of your audiences clients. If the graphic design you have to produce is more static the responsive route suits better as it allows easier planning in the different stages within the breakpoints. Most designers currently follow flexible approaches, lightweight, elegant, presentational, not-so-portal-like that also allow fluid implementations (where certain or all page elements are allowed to stretch or grow according to the client/browser viewports).
3. Do you target only traditional audience?
Then simply choose the framework you're confident it allowes the easiest implementation. Did the designer use a grid? Then maybe the CSS framework fits it. Some CSS frameworks come with a nice variety of design templates for Gimp, Photoshop, Illustrator and others, so maybe the design can be based on the template upfront which allows for the best realization.
Two other considerations:
A. There is no graphic design
If you start without explicit design templates I would choose a framework that allows for easy integration of Typography, offers lots examples, use cases, pre-defined page elements or components (buttons, navigation, thumbs...).
B. Time constraints
No time? Some frameworks come with their own or third party customization scripts or wizards. Choose the elements or components you need, turn on or off certain JS libraries, reset stylesheets, things like that and download the final package. That's it.
Some frameworks are pretty mature and well tested so the absence of a vibrant community may not tell you that much. Depending on your skills a lot of support may not be necessary (and even be a bad sign: The grid/framework should be simple and stay out of your way. The questions that may come up should so be the usual CSS questions that are quite common and can be answered even without details of the underlying framework).
Two examples to illustrate two approaches (more grid <-> more responsive):
http://960.gs/
Definitely take a look. Follow the "view the slides" link to read nice background information. A true grid system. It also links to derivatives that support fluid and elastic looks.
http://twitter.github.com/bootstrap/
Modern, nice hype. Lots of components. Customizable. Responsive.
Web-Apps:
http://jquerymobile.com/ and http://www.sencha.com/products/touch
Most grids are 95% the same: they define the width of columns + include a clearfix.
You can even make your own grid if you like. So therefore, if we understand that most grids are essentially the same, which one is the best to use?
1) Customize Twitter Bootstrap by only downloading the grid. It's a great choice because most people are familiar with the "span1, span2, span3" convention. Also, it's available as fixed width and fluid (ie. responsive).
2) 960.gs is probably the most commonly used fixed width grid.
Unsemantic is the responsive sucessor to 960. Both were developed by Nathan Smith.
One question you can ask right off the bat is:
Do I want the framework to be responsive?
The answer to the question will cross many options off your list.
Another main question I ask is what kind of community support is behind the project. From my experience it is a pain to get invested into a particular project and than have it die and get no support. It is nice to have something that has key backers and a large following.
Considering the UI designers from Twitter made Bootstrap I wouldn't just call it hype surrounding that framework. It's excellent code and the most complete framework. 960.gs is a grid system which boostrap has called scaffolding. Bootstrap is also smartphone friendly. So where someone would have to hack together jquerymobile, jquery, 960.gs, plus all the plugins they need. Bootsrap already comes bundled with plenty to get you started with and works on all browsers and phones/tables.
Is there any opensourse, free set of components for creating Flex mxml graphs?
like aviary Peacock style ones
(source: peacockwiki at sites.google.com)
with at least Drag, drop, and connect generators
so each graph element could have
(source: peacockwiki at sites.google.com)
or something like that.
Framework should be opensource (like GPL, LGPL etc)
BTW: I found one wary bacic made by Erno Aapa with Degrafa but I would really love to see something much more Flex 4 - mxml oriented and frienfdly.
So blog articles, Google code projects, anything - please help
I don't have a specific answer for you; but just some places to go look.
Have you looked at the Advanced Charting and Visualization package from Adobe? They are part of the open source SDK with the release of Flex 4.
You already mentioned Degra. I understood that Degrafa stands for Declarative Graphics. I'm surprised you'd say it is not MXML friendly.
Have you looked at Axiss? It is another project out there, and I believe it relies heavily on Degrafa.
You said open source, but didn't say free. So, I believe source code is available if you purchase a license to iLog. I'm not sure about FusionCharts, but I've heard very positive things about it from other Flex Developers.
Moccasin and Flex Wires combined should get you most of the way there.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
We are looking for an ASP.NET compatible data grid that allows for multi-line editing similar to Excel or a WinForms data grid. It must also support very basic keyboard input (tab, arrow keys, return). Note that we are not looking for Excel capabilities (functions, formatting, formulas) ... just a grid for fast data entry.
I've looked at Telerik, Infragistics, ComponentOne, DevExpress, and many others ... all their support teams have said that the controls either do not support multi-line, or do so in such a clunky way that it would be unusable.
Has anyone used any Excel-like grids that they can recommend? The client-side grids seemed closer to what we needed, with Sigma Widgets ( example ) being the closest I've found so far. Extjs's grid was too inflexible, and the jQuery grid was too buggy.
It does not exist today. There are products such as those you have mentioned which have tried, but in my experience none of them will make an experienced Excel user happy.
My company makes Excel compatible spreadsheet components for use with Windows Forms and ASP.NET. We have been getting this question for years, so we have of course considered building one because it looks like a good business. But HTML / JavaScript is just not a suitable platform for building something which "feels right" to users who want it to work like Excel - IMO.
We have settled on the idea of building a spreadsheet control for Silverlight. I believe this will give you the best of both worlds - cross platform rich interactive spreadsheet in the browser which any Excel user would be comfortable with. Unfortunately, that is not going to happen this month or next...
At my previous company, we actually built a spreadsheet component as a Netscape Plugin, as an ActiveX control and as a Java Applet. They had a little bit of success, but none of these technologies ever became ubiquitous in the enterprise for various reasons. I believe Microsoft is finally getting it right with Silverlight and that Silverlight will become the gold standard for browser based Line of Business applications in the Enterprise.
EDIT:
I should have mentioned that the product I alluded to above is Formula One / NET (Netscape Plugin released ~1995), Formula One / ActiveX and Formula One for Java - which is now sold by Actuate as e.Spreadsheet. I left in 2002, but AFAIK they still maintain the Java Applet which is probably the best example of an Excel like UI in the browser (I have no interest in the product any more - in fact we compete to some extent with e.Spreadsheet and intend to have a better answer with a Silverlight control in the future). I did not mention it by name in my original answer because it is a Java product - not a .NET product - but it is a potential answer even for an ASP.NET web site.
Lloyd Cotten correctly comments that Google Docs is an example of a spreadsheet built with HTML / JavaScript. Lloyd says Google Docs "definitely 'feels right' in its similarity to Excel". While I respect Lloyd's opinion, in my experience Google Docs does not 'feel right'. Perhaps this is because I'm a spreadsheet guy. I do know that we talk to potential customers almost every day who are trying to solve the problem of the OP, and they have all looked and cannot find one they are happy with - but of course they would not be calling us if they had so we are dealing with a biased sample and I understand that.
So I just want to clarify that there are in fact plenty of examples of HTML / JavaScript grids and spreadsheets which are usable. It's just that I don't want to have to use them because I expect certain keys to do certain things and a particular level of responsiveness which is just not there today with any of the HTML / JavaScript solutions I have tried (and I look at them regularly because my company could definitely sell such a product if it were feasible to build one that we could be proud of).
How about FarPoint Spread?
I'm in the middle on evaluating FarPoint Spread for ASP.NET, and so far I've been happy with the result.
We ended up using Sigma Grid ... thanks for all the other replies!
Well.. not sure, but I am looking for something similar and I found:
Nitobi
Not sure if it does exactly what you want, although youcan definately move around with cursor keys, and edit inline....
EDIT
Also Essential Objects have a good editor too... seems very like excel...
http://demo.essentialobjects.com/Default.aspx?path=Grid_i1_i20
RealWorld Grid is probably what you are looking for. I'm using it in my projects, and it works perfectly.
Here's their CooglePlex page
I don't think it supports the arrow keys, but it makes multirow editing a breeze.
p.s. seems like you're looking for client-side grids ... this one is server-side. I'll leave the comment there, somebody might find it useful.
I have used the Infragistics grid with success. However, the learning curve is huge (and there's practically no support) and I don't know if there is multi-line editing.
I've used Syncfusion's components and they're quite good, they boast an "Excel-like" editor, though I didn't see multi-line mentioned.
For intranet and IE users Office Web components can be an option. While flying in the face of all things a good web application should be, they let users feel at home in office on the web.
I had great success using the pivot table control combined with MS OLAP a few years ago. User loved it and no wheels needed to be reinvented.
http://www.microsoft.com/downloads/details.aspx?FamilyID=982B0359-0A86-4FB2-A7EE-5F3A499515DD&displaylang=EN
http://msdn.microsoft.com/en-us/magazine/cc164070.aspx
I think http://codethat.com/grid/ is quite good!
Excel Like GridView allows for multiline editing and navigating using the arrow keys, as well as resizing columns and rows.
http://darkroastjava.wordpress.com/2010/04/28/creating-an-excel-like-grid-for-asp-net/ is an extension of that which also supports pasting multi-cell values from the clipboard.
Unfortunately, both only work in IE so far, but that meets my personal needs at this point of time.
dhtmlxGrid (client-side, JavaScript grid) supports multiline feature (demo), keyboard navigation and comes with server-side connector for ASP.NET. In case, someone is still looking for such a grid. Disclosure: I'm a part of the DHTMLX team.
I'm used to working in a Delphi and C# environment which seem to have a rich set of third party components available. I'm currently wanting to do cross-platform programming in C++ using either qt or wxwidgets. Is there a large market for third party components? I was looking at sourceforge and that doesn't seem to show much that is useful (how the hell do you find out what components or features are in a project without downloading the source?). I'm thinking carousel/coverflow components, rich datagrids (like the sort DevExpress provide). Or is this, write your own territory?
There are a number of good quality third party Qt libraries, though I don't know of a centralized resource for finding them.
A few places to start looking:
http://www.ics.com/products/qt/addons
ICS provides the
QicsTable, a high performance
model-view-delegate table library,
and resells various libraries by
KDAB. (These are all available as a
free download.)
http://www.qtcentre.org/contest-first-edition/finalists
QtCentre has an annual
programming contest which awards
interesting Qt-based tools and
libraries. This year's contest is
still being judged, but the
finalists from last year can be seen
at the above link. Check out the
Custom Widget and Helper Library
categories.
There is a third-party component for Qt - advanced data grid - Qtitan DataGrid.
In it there are almost all necessary possibilities.
Ultra-fast processing of large data sets
Use of QStyle for rendering objects ensures that the grid blends into the UI design of any application
Two modes of vertical scrolling
Customizable colors of rows and columns
Two integrated table views
Column banding and grouping
Automatic width and height adjustment
Fixed columns
Flexible sorting
Column summaries
Integrated high-performance caching mechanism
Advanced paint engine for faster rendering of UI elements
Cross-platform support
API for external editors
Screenshots about this Grid
http://www.devmachines.com/qtitan_screenshots.php
For a crossplatform GUI development, Qt is the tool you should be looking for. I have used both. Here is what I feel about Qt
Building rich GUI is a piece of cake if you use Qt. It has a loads of GUI capabilities, starting with its Graphics View, OpenGL support, stylesheets that supports css. A mature painting system, Richtext formatting, Integration with Webkit, and I am sure I am missing a lot more here...
Qt has its own build system, qmake which creates platform dependent Makefiles, so no Makefile hassles. Moreover you get a single pro-file which is much easier to manage. For wxWidgets, you will need to create different Makefiles for the various compilers you intent to use.
Other advantages of using Qt over wxWidgets are - the Api is very easy to learn with its intuitive api, superb documentation and tons and tons of examples. This helps you get yourself productive pretty soon and thus getting your product early to marker. BTW Qt is a RAD tool. Moreover, there is a huge user base, and there are forums like QtCentre.org to help you with your questions.
If you are planning to buy commercial license, you get support directly from Qt Software (trolltech).
You would obviously be using Qt's Model View pattern, allowing you to separate your business logic from the presentation tier. I would suggest that you write to "support at trolltech dot com" or "sales at trolltech dot com" to get more information. You can explain your requirements and they would be able to explain how Qt fits your needs.
You could also download the opensource version and have look at the demos.
Coverflow: http://labs.trolltech.com/blogs/2007/11/02/pictureflow-on-windows-mobile/ , http://ariya.blogspot.com/2008/03/introducing-photoflow.html
As I said, if its Rich gui you are planning to develop, use Qt.
In addition to the ones by ICS and at QtCentre the Qt-apps website has some open source widgets/components for Qt.
For wxWidgets you have wxCode which has quite a few things although not all the existing third party components (including a few very useful ones) are available from there.
Good quality components for Qt can be found here - http://www.devmachines.com/
At the moment there are Microsoft Ribbon Control for Qt, DataGrid for Qt, Charting for Qt.
All components are commercial and should be used in Qt Commercial or Qt LGPL.