Hi
Looking at this great new control, i have a couple of questions:
1. Is there a way to draw a vertical line on the current day as is the case in MS Project.
2. When i set the viewstyle on the calenderlook to office 2007, the control does not seem to style that way. I wonder how you apply the kind of styling that is shown on the website for this control.
3. When i set primary interval to weeks, i get two rows on the header, first row shows the beginning of the week and second row ... does the same ???? shouldn't the second row show the last day of the week?
4. When i set the primary interval to weeks, can i not use week number instead of two days. This comment also applies to the ultratimelineview. A lot of people work with week numbers when they do planning per week, there should be a format that allows this.
Peter
1. Sorry, we were pressed for time and this is one of the things that just didn't make it in. One approach to this would be to use the IUIElementCreationFilter interface, and intercept the creation of the Infragistics.Win.UltraWinSchedule.TimelineView.TimeSlotUIElements. That class exposes a DateTimeRange property, so you would look at that and if it is the first slot for the current date, you could add a simple UIElement to its ChildElements collection that just draws a line. Its size would be a one-pixel width and the height would be the same as the TimeSlotUIElement.
2. Yes, we played around with the idea of making the grid more 'Office2007 looking', but MS Project 2007 didn't really mess with the grid's appearance much, they just made the toolbars and such Office2007-like (with the blue and orange hot tracking). I don't know exactly what ISL they used to style that screenshot, but generally speaking you can style most every aspect of it using ApplicationStyling, and the NetAdvantage install (I think) comes with a few canned ISL's, so you would load that in and the control would magically take on that appearance. This is ideal for shops that have a visual design team, because the developer doesn't have to get involved with the drudgery of coloring the thing.
3. You seem to know about the PrimaryInterval so I'll skip the background on this subject...there is also an AdditionalIntervals collection, and an AutoAddAdditionalInterval property. You can set the AutoAddAdditionalInterval property to false to prevent that additional one from appearing (it is there by default to get the default MS Project behavior), and add any number of DateTimeIntervals to the AdditionalIntervals collection. Note that the PrimaryInterval doesn't know about the AdditionalIntervals, so it does not automatically adjust itself based on what else is appearing. The control (same with UltraTimelineView) will allow "duplicate" intervals if you add them, because there was no compelling argument for disallowing it.
4. Interesting suggestion. I guess the reason I missed this is because the mechanism that determines the header format applies to all intervals, i.e., hourly, daily, weekly, monthly, etc., whereas week number only apply to weeks. You can work around this by handling the ColumnHeaderInitializing event, figuring out the week number using the UltraCalendarInfo.GetWeekNumberForDate method, and setting the header's text accordingly.
Hi Brian,
Any chance of helping a hand with that drawfilter you are suggesting, it isn't exactly the easiest thing to achieve and the documentation isn't very helpfull.
I can get to the point where i create a creationfilter class, but i am unsertain on how to create a uielement that draws a simple line.
Can you Help?
Best Regard,
I attached a code file; assign an instance of the CurrentDayIndicatorCreationFilter class to the control's CreationFilter property like so:
this.ganttView.CreationFilter = new CurrentDayIndicatorCreationFilter();
Hi Brian, how would we draw a line at the current time in the TimeLineView?
Thanks!!
Is there a way to get the current display to display at the current time instead of just the current day? I'd like to use this code but my PrimaryTimeInterval is only 30 minutes, so the bar shows up at midnight instead of the current time. I tried replacing the DateTime.Today parameter with DateTime.Now, but it doesn't seem to take:
nsTLV.TimeSlotUIElement currentDateFirstSlot = taskAreaElement.GetDescendant( typeof(nsTLV.TimeSlotUIElement), DateTime.Now ) as nsTLV.TimeSlotUIElement;
Thanks!
Exactly what i was looking for...
Thank you very much!