原創|其它|編輯:郝浩|2012-09-20 13:53:13.000|閱讀 190 次
概述:Planner .NET是一款功能強大的時間管理工具,絕對是您工作上的好幫手。它提供了多種綜合功能,這些功能可保證預約的時間設定以及任務安排在簡單、綜合的方式下完成。以下是Planner.NET控件有關項目方面的常見問題(FAQ)
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Planner .NET是一款功能強大的時間管理工具,絕對是您工作上的好幫手。它提供了多種綜合功能,這些功能可保證預約的時間設定以及任務安排在簡單、綜合的方式下完成。以下是Planner.NET控件有關項目方面的常見問題(FAQ):
Q:我將我所有的遞歸委托和異常數據存儲在SQL Server數據庫中。是否存在一種方法可以人工的為遞歸創建異常?
A:異常可以通過 Recurrence.MarkException(Item, bool) 方法創建.您必須提供一個項目遞歸的引用,該引用將被標記成一個異常。為獲得一個遞歸項目的單一實例,可調用 Recurrence.GenerateItems方法
Q:我創建了一個委托并設置了一個Reminders對象,但它在指定的時間無法工作!
A:在Planner.NET中Reminders會生成一個事件。為獲得Reminders的通知,您必須處理Schedule.ItemReminderTriggered. 假設變量'calendar'引用了一個Planner.NET日歷控件,下面的代碼將會說明如何處理該事件:
calendar.Schedule.ItemReminderTriggered +=
new MindFusion.Scheduling.ItemEventHandler(OnItemReminder);
// ...
private void OnItemReminder(object sender,
MindFusion.Scheduling.ItemEventArgs e)
{
MessageBox.Show(e.Item.Reminder.Message);
}
Q:我該如何將私有屬性添加至 Appointment 類中?我需要保持兩個數據值。
A:為將自定義數據添加至一個appointment中,您需要從Appointment中創建自己的衍生類。您可以將任何您想要的額外屬性添加至該衍生類中。
請參考以下示例:
class MyAppointment : Appointment
{
public MyAppointment()
{
customData = 5;
}
public int CustomData
{
get
{
return customData;
}
set
{
customData = value;
}
}
private int customData;
}
使用 Calendar.InteractiveItemType 屬性指定您類中的項目,每當用戶創建項目時它們都被實例化。在此情況下,您需要保證您的類提供了一個不含參數的構造函數,如同Planner.NET文檔所述。
注意:在文檔中的可以找到更多關于如何創建自定義的支持序列化、遞歸和迭代的委托類的信息。
Q:我需要基于單月視圖和時間表視圖里的項目狀態以指定的顏色填充一個項目。是否存在一個日歷等級的屬性用來完成這些工作?
A:您是想將Style對象的Brush屬性與該項目關聯嗎? 比如,如果'item'是一個引用了您想要改變背景顏色的項目的變量,這里有一個示例代碼說明如何去做:
item.Brush = MindFusion.Drawing.SolidBrush(Color.Green);
您需要使用 SelectedStyle.Brush來改變選定項目的填充顏色。
Q:你能告訴我如何獲取 時間表視圖 中的一個項目的索引嗎?我使用了自己的ID號,在數據庫中做了標記并且需要刪除一個項目,我唯一能想到的辦法便是如果我有索引號。你能告訴我如何獲取索引號或者從ID或標記中如何刪除一個項目嗎?
A:項目被存儲在一個集合中,該集合可通過 Calendar.Schedule.Items屬性訪問。為找出集合中某一個特殊的項目索引,只需簡單地調用集合中的 IndexOf 方法。您也可以反轉該集合然后從中將項目刪除,這也是符合一定標準的(就像包含了特殊標記或id)。
Q:在資源視圖中如何調整委托的顏色?
A: 資源視圖中的項目使用 Style.HeaderBrush 來填充顏色。
Q:在日歷視圖中可以雙擊一個開放空間并彈出一個Appointment窗口來創建一個事件嗎?
A:您可以處理 DateClick事件 并在其中顯示出appointment創建窗口.您可以查看對應的事件數據對象的 Clicks 屬性 來決定鼠標敲擊的次數。值為2表示鼠標雙擊。
Q:我該如何限制并發委托的數量?我希望創建一個自動化系統來生成委托。當用戶開始拖動時,我希望限制并發委托的數量。
A:下面的方法將阻止用戶在 Single Month的單日, List 或WeekRange 視圖里拖動超過3個委托。這些方法處理了 Calendar.ItemModifying事件,該事件在用戶移動或調整委托時被觸發。設置nbsp;EventArgs對象的Confirm屬性可阻止上述操作。
private void calendar_ItemModifying(object sender,
ItemModifyConfirmEventArgs e)
{
DateTime from = e.NewStartTime.Date;
DateTime to = from + new TimeSpan(TimeSpan.TicksPerDay - 1);
while (to < e.NewEndTime.Date)
{
if (calendar.Schedule.GetAllItems(from, to).Count > 2)
{
e.Confirm = false;
return;
}
from += TimeSpan.FromDays(1);
to = from + new TimeSpan(TimeSpan.TicksPerDay - 1);
}
}
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件