views:

3207

answers:

6

I need to write an application that essentially functions like a week-view of a calendar, columns for the days and then rows for appointments. Where the height of the appointment box visually represents time. In my case, I just don't want the time of day as the vertical axis, I just want hours or mins. The Google AJAX approach is very clean and easy to use and would be perfect, I think, but my major knowledge comes in ASP.Net and Windows Forms (.Net). I don't want to reinvent the wheel, but I find my mind is stuck on this problem and that I would have to create an interface from scratch for this. I have checked out the Infragistics product (used it for other projects) and read up a lot on the Google API's including their Ajax toolkit. I haven't done Java, however learning a language is not my issue, it's learning the particulars that will help me reach my goal that I feel will take most of the time.

Am I making a mountain out of a mole hill? Is this really a lot easier than I think? This is starting to sound like a Dear Abby post - I'll stop now. Any advice or insight would be great! Thanks all!

+1  A: 

I recommend you do use some existing toolkit, lib or js widget that does that. I find this lib may fit you: ftr-gwt-library. I started to write a GWT component just for that, but I dont' have alot of time to finish it. The site is gwt-scheduler.

IMHO, GWT is great for this type of AJAX apps, althought it takes some time to grok the concepts and quirks (mostly css quirks between browsers). Both links are GWT components, and it is relatively easy to expose GWT components to javascript.

Miguel Ping
A: 

You're right - you shouldn't have to reinvent the wheel.

Take a look at the Telerik Calendar control. It offers template support: "A collection of dynamic templates can be used for achieving rich presentation of the calendar days. You can use this customization on a "per day" basis. It is especially useful if you want to implement a scheduler-like interface..."

And I'm sure other third-party controls can do something similar.

Kon
i've been writing something with the devexpress control. not sure if one is better than the other, just throwing out another option.
Dana
A: 

I can confirm that reinventing the wheel takes a lot of time from my own experience:

Hopefully it's not just pure reinventing....

Dan
A: 

Check out gwt-cal ...

It is an open source calendar for ajax apps written in GWT, which is a great toolkit as Miguel noted above. The calendar can be included in your project, and comes with 3 themes - Outlook, Google Calendar and iCal

+1  A: 

www.web2cal.com will be a good place to start? There are few more, if you search in stack overflow you should be able to see.

arundati
A: 

I wrote something just like this relatively easily using jquery/ajax calls. I used a basic html table with the columns being each day and the rows representing half hour time slots (generated server-side). I used jquery to write a function to add/remove appointments by hiding cells and modifying the "rowspan" attribute of the cells. Two ajax functions were needed, one to load the appointments from the server, and another to create/delete the appointments that the user accessed.

Pretty sure I reinvented the wheel there, though.

dave