翻譯|使用教程|編輯:楊鵬連|2020-08-11 10:39:57.110|閱讀 464 次
概述:在此博客文章中,我們將說明如何基于特定條件在日歷的“資源”視圖中為單元格和資源著色。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
MindFusion.Diagramming for WinForms是一個能幫助你創建工作流和進程圖表的.NET控件;數據庫實體關系圖表;組織圖表;對象層次和關系圖表;圖表和樹。它是基于對象-圖表框,表格和箭頭類型,將其歸類分派給其他并結合成復雜的結構。該控件提供超過預先定義的50多種圖表框,如自定義設計樣式和對圖表框著色等。MindFusion.Diagramming for WinForms現已加入在線訂購,現在搶購立享優惠,查看詳情>>
點擊下載MindFusion.Diagramming for WinForms最新試用版
在此博客文章中,我們將說明如何基于特定條件在日歷的“資源”視圖中為單元格和資源著色。在我們的示例中,我們從Java Swing Scheduler的示例中獲取 “資源表”示例,然后將其代碼進行編輯,以著色與給定資源相對應的單元格的標題和背景,在我們的示例中,該示例為雇員:
I.常規設置
該示例使用Java Swing調度庫,該庫作為對該項目的Jar引用提供。
calendar = new Calendar();= new Calendar();
calendar.setCurrentTime(DateTime.now());.setCurrentTime(DateTime.now());
calendar.setDate(new DateTime(2020, 6, 8));.setDate(new DateTime(2020, 6, 8));
calendar.setEndDate(new DateTime(2020, 7, 7));.setEndDate(new DateTime(2020, 7, 7));
該日歷類公開為定制時間表許多方法。我們首先將視圖設置為CalendarView itemSettings,而resourceViewSettings類為我們提供了許多用于自定義日歷外觀的選項。我們使用它們來扭曲資源表的外觀:
calendar.getItemSettings().getSelectedItemStyle().setHeaderFont(new Font("Verdana", Font.PLAIN, 9));.getItemSettings().getSelectedItemStyle().setHeaderFont(new Font("Verdana", Font.PLAIN, 9));
calendar.getItemSettings().getSelectedItemStyle().setHeaderTextAlignment(EnumSet.of(TextAlignment.MiddleLeft));.getItemSettings().getSelectedItemStyle().setHeaderTextAlignment(EnumSet.of(TextAlignment.MiddleLeft));
calendar.getItemSettings().getSelectedItemStyle().setHeaderTextShadowStyle(ShadowStyle.None);.getItemSettings().getSelectedItemStyle().setHeaderTextShadowStyle(ShadowStyle.None);
......................................................
......................................................
calendar.getItemSettings().getStyle().setHeaderFont(new Font("Verdana", Font.PLAIN, 9));.getItemSettings().getStyle().setHeaderFont(new Font("Verdana", Font.PLAIN, 9));
calendar.getItemSettings().getStyle().setHeaderTextAlignment(EnumSet.of(TextAlignment.MiddleLeft));.getItemSettings().getStyle().setHeaderTextAlignment(EnumSet.of(TextAlignment.MiddleLeft));
calendar.getItemSettings().getStyle().setHeaderTextShadowStyle(ShadowStyle.None);.getItemSettings().getStyle().setHeaderTextShadowStyle(ShadowStyle.None);
calendar.getItemSettings().getStyle().setHeaderTextShadowOffset(0);.getItemSettings().getStyle().setHeaderTextShadowOffset(0);
......................................................
......................................................
calendar.getResourceViewSettings().getBottomTimelineSettings().setFormat("EEE (MM/dd)");.getResourceViewSettings().getBottomTimelineSettings().setFormat("EEE (MM/dd)");
calendar.getResourceViewSettings().getBottomTimelineSettings().setSize(15);.getResourceViewSettings().getBottomTimelineSettings().setSize(15);
calendar.getResourceViewSettings().getBottomTimelineSettings().getStyle().setHeaderBrush(Brushes.White);.getResourceViewSettings().getBottomTimelineSettings().getStyle().setHeaderBrush(Brushes.White);
calendar.getResourceViewSettings().getBottomTimelineSettings().getStyle().setHeaderFont(new Font("Verdana", Font.BOLD, 10));.getResourceViewSettings().getBottomTimelineSettings().getStyle().setHeaderFont(new Font("Verdana", Font.BOLD, 10));
員工是Contact類的實例。創建它們后,我們會將它們添加到日歷的聯系人集合中。為每個聯系人提供一個ID非常重要,因為這是我們稍后在代碼中識別它們的方式:
Contact contact = new Contact(); contact = new Contact();
contact.setFirstName("Mike");.setFirstName("Mike");
contact.setId("IdMike");.setId("IdMike");
contact.setName("Mike");.setName("Mike");
calendar.getContacts().add(contact);.getContacts().add(contact);
代表資源任務的項目是約會實例。我們用代碼創建它們,并將它們添加到Calendar應用程序的items集合中;
app = new Appointment();= new Appointment();
app.setStartTime(new DateTime(2006, 3, 27));.setStartTime(new DateTime(2006, 3, 27));
app.setEndTime(new DateTime(2006, 3, 28));.setEndTime(new DateTime(2006, 3, 28));
app.getContacts().add(calendar.getSchedule().getContacts().get("IdMike"));.getContacts().add(calendar.getSchedule().getContacts().get("IdMike"));
app.setHeaderText("21965 Carbon Mesa Rd (1)");.setHeaderText("21965 Carbon Mesa Rd (1)");
app.setPriority(0);.setPriority(0);
calendar.getSchedule().getItems().add(app);.getSchedule().getItems().add(app);
資源視圖呈現與給定的資源, 位置, 項目, 任務等相對應的單元格行。可用選項是GroupType枚舉的成員。在我們的示例中,我們按資源(例如員工)對視圖進行分組:
calendar.setGroupType(GroupType.GroupByContacts);.setGroupType(GroupType.GroupByContacts);
至此,我們完成了常規設置,并繼續編寫可自定義應用程序的代碼。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: