PDA

View Full Version : Janus Web GridEx Like Enhancements? Need General Direction...


fullej
08-30-2008, 12:26 PM
First, my apologies if this is in the wrong forum area, please move if needed.

I'm currently in development upgrading an aging Visual Basic 6 application to a new web based system, and love much of what ExtJS could do for me. What is currently holding me back though, is some key missing features that users will expect me to support in regards to the Editable Grid control. Specifically, I need something that can match the Janus GridEx functionality they have today (and more specifically the "new row" entry at the top of the grid). I think your main competition for the best grid control is likely this Janus Web GridEx, as most other grids just dont come close to what ExtJS can do.

That said, the Janus Web GridEx kicks butt. It can do about anything you can possibly think of... except it only works in .Net - which does truly suck.

So my questions are this, has anyone tried to extend the ExtJs Grid to work more like this Janus Web GridEx (specifically the "add new row" functionality)? I am trying to do this myself, but it is proving quite difficult for my newbie abilities and I can't help but think someone with more familiarity with ExtJS could add this kind of thing in a day or if you could provide some high level direction to get me pointed in the right direction that I could do it and provide it back to the community.

Here are more details on the Janus GridEx:

http://www.janusys.com/janus/library/CustomPages/webgridexnet.htm

http://www.componentsource.com/products/janus-web-asp-net-server-controls-suite/index.html

I would love to use ExtJS and pay for this license over the Janus license... but if I can't find what I need here, it will be a hard sell to my customers to do anything else.

Thanks,
Josh

Animal
08-30-2008, 12:44 PM
Add new row? Just put an "Add new row" Button in the TopToolbar, and in the handler, add a new Record to the Grid's Store (Which is the Model part where the Grid is the View)

fullej
08-30-2008, 01:58 PM
Perhaps I described that function using the wrong terms. If you check out the Janus grid you will see what I mean. It is a row at the top of the grid that allows a user to enter new values and then save it to the data set when the user hits enter. It is not just adding a row to the grid, that is definitely already supported and easy to do - agreed. It functions a fair amount differently then just a blank row in the data set. Hopefully I'll get an example extension together that shows this more clearly soon.

geoffrey.mcgill
08-30-2008, 06:38 PM
Can you put together a demo or point me to somewhere online where this functionality may be demonstrated? I can not find any 'live' demo's on the Janus website.

mjlecomte
08-30-2008, 08:59 PM
So you need a fixed static row just below the header row or something? Or can the "add new record" automatically insert a new record just below the header on demand, thereby conserving real estate?

Yoris
08-30-2008, 09:27 PM
i think you have to dig deeper into extjs functionality, you can do what you are saying you lack with just a simple plugin that adds a form panel beneath the heathers or above, its your choice, that is the beauty of ext, or you can just do what everybody is already thinking, just add a simple button in a toolbar that "adds" a record into the grid.....:-?

Animal
08-31-2008, 02:02 AM
There's no live demo, so it's difficult to understand what you want.

jack.slocum
08-31-2008, 10:34 AM
I think he is looking for something like under the header here:

http://extjs.com/blog/2008/02/24/tasks2/

fullej
08-31-2008, 11:23 AM
Sorry for the delay in reply. I looked around as much as I could to try and find a live demo, but to no avail. You can download a 30 day trial/demo though if you have Visual Studio and you will see what I mean - it has a ton of features but honestly the extensability of ExtJs is just awesome. As I don't have a host yet that can run .Net, it is making it challenging for me to demonstrate the need, but I very much appreciate the ideas you are all sharing.

Jack, in the link you sent I think you must be reffering to the new task style of entry, and that could be what I'm looking for - Thank You! It's exciting that an example may already exist, and at the same time I feel stupid for asking and not noticing this before. I will keep reading that page and see if I find exactly what I'm looking for and post back here with results.

Yoris, interesting suggestion. I was going the route of extending the grid to display a locked non-scrollable row above the standard grid, and got pretty far yesterday, but it does have it's limitations. Going the route of a form somehow might make it work a bit better. Thank you for the suggestion, I may end up going there.

mjlecomte, your correct, it is a static and locked row above the grid that functions as a row where you can always type in and enter new data. Upon entering the data it would save to the database and refresh the grid below.

Thank you all for your feedback and direction. I'll try and get an example in ExtJs together today to share. Your suggestions are helping me already understand that I think this can be done.

-- Josh

fullej
09-01-2008, 10:42 PM
Thank you all for your responses and help. Jack's direction took me in the best direction I think, and so I have a solution based on the tasks example that seems to be working good so far. My only final comment would be to consider making such a thing simpler in the future with just a config on the grid to do something like "newRowVisible: true".

In the end, ExtJS is way more flexible and customizable then the Janus grid ever was or will be, so I'm very happy with where I'm at with it. Now I just need to finish the proof of concept and get final project approval and I'll be signing up for a license.

Thanks again,
Josh

mjlecomte
09-01-2008, 11:00 PM
Well....you can always post your solution as an extension/plugin/override and perhaps it will get included in a future version.

fullej
09-01-2008, 11:05 PM
I'll work on a way to make it a plugin as well to try and share as much as I can. Basically though, it is identical right now to what Jack already posted on his blog.