翻譯|使用教程|編輯:莫成敏|2020-01-06 10:50:19.933|閱讀 465 次
概述:本文總結了VARCHART XGantt的常見問題:如何提高性能?主要是關于.NET版本的問題,感興趣的朋友快來了解一下吧~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
VARCHART XGantt是一個交互式的甘特圖控件,其模塊化的設計讓您可以創建滿足您和您的客戶所需求的應用程序。(我們領先的甘特圖控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET應用程序。)使用交互式甘特圖提供令人驚嘆的視覺調度體驗,增強您的計劃用戶體驗。
本文介紹了VARCHART XGantt常見問題中的如何提高性能問題,并且針對該問題作出回答,現在就來了解一下吧~
如果對每個節點重復執行更新操作,則包含大量節點的項目可能會花費太長時間。并非每個自動更新過程都是必需的;在這種情況下,您可以暫停單個更新,處理一系列代碼,然后進行最終更新。暫停和重新激活更新都可以通過SuspendUpdate方法完成,該方法在代碼序列的開頭設置為True,在代碼序列的結尾設置為False。使用此方法可以顯著提高整體性能。
示例代碼VB.NET
Dim dataTable As VcDataTable Dim dataRecordCltn As VcDataRecordCollection Dim dataRecord As VcDataRecord dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata") dataRecordCltn = dataTable.DataRecordCollection VcGantt1.SuspendUpdate(True) For Each dataRecord In dataRecordCltn dataRecord.DataField(4) = "10" dataRecord.Update() Next VcGantt1.SuspendUpdate(False)
示例代碼C#
VcDataTable dataTable = vcGantt1.DataTableCollection.DataTableByName("Maindata"); VcDataRecordCollection dataRecordCltn = dataTable.DataRecordCollection; vcGantt1.SuspendUpdate(true); foreach (VcDataRecord dataRecord in dataRecordCltn) { dataRecord.set_DataField(4, "10"); dataRecord.Update(); } vcGantt1.SuspendUpdate(false);
您還可以通過SuspendUpdate方法加快鏈接的更新過程。
如果在大型項目中修改表格式,則還應該使用SuspendUpdate方法。示例代碼VB.NET
Private Sub ModifyTable_Click() Dim formatCltn As VcTableFormatCollection Dim aFormat As VcTableFormat Dim index As Integer VcGantt1.SuspendUpdate(True) formatCltn = VcGantt1.LeftTable.TableFormatCollection For Each aFormat In formatCltn For index = 1 To aFormat.FormatFieldCount aFormat.FormatField(index).BackgroundColor = Color.Green aFormat.FormatField(index).TextFontColor = Color.Red aFormat.FormatField(index).Alignment = VcFormatFieldAlignment.vcFFACenter Next Next VcGantt1.SuspendUpdate(False) End Sub
示例代碼C#
private void ModifyTable_Click() { VcTableFormatCollection formatCltn = vcGantt1.LeftTable.TableFormatCollection; vcGantt1.SuspendUpdate(true); foreach (VcTableFormat aFormat in formatCltn) { for (int index=1; index <= aFormat.FormatFieldCount; index++) { aFormat.get_FormatField(index).BackgroundColor = Color.Green; aFormat.get_FormatField(index).TextFontColor = Color.Red; aFormat.get_FormatField(index).Alignment = VcFormatFieldAlignment.vcFFACenter; } } vcGantt1.SuspendUpdate(false); }
當您使用不等距的直方圖曲線時,此方法還可以加快更新過程。
示例代碼VB.NET
Dim histogram As VcHistogram Dim curve As VcCurve Dim index As Integer Dim aDate As Date histogram = VcGantt1.HistogramCollection.FirstHistogram curve = histogram.CurveCollection.CurveByName("Curve1") ' current date aDate = Date.Today() VcGantt1.SuspendUpdate(True) For index = 1 To 3000 ' shifting by 2 hrs aDate = aDate.AddHours(2) curve.SetValues(aDate, index) Next VcGantt1.SuspendUpdate(False)
示例代碼C#
// current date DateTime aDate = DateTime.Today; vcGantt1.SuspendUpdate(true); for (int index=1; index < 3000; index++) { // shifting by 2 hrs aDate = aDate.AddHours(2); curve.SetValues(aDate, Convert.ToString(index)); } vcGantt1.SuspendUpdate(false);當您使用日歷時,該方法還可以加快更新過程,因為在加載節點后,對日歷的修改需要大量時間,因為從那時起,對于所有節點,程序都必須檢查它們是否依賴于日歷。
圖形
性能低下的另一個原因可能是表、節點或框字段中的圖形太大或像素太多。
本文是關于.NET版本中的提高性能,關于ActiveX版本中提高性能的問題,后續將會更新,敬請期待哦~您還可以下載VARCHART XGantt試用版進行免費體驗~
相關內容推薦:
交互式甘特圖VARCHART XGantt常見問題:Borland Delphi用戶升級新版本時怎么做?
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: