翻譯|使用教程|編輯:楊鵬連|2021-03-19 10:06:11.603|閱讀 311 次
概述:VARCHART XGantt是一個交互式甘特圖組件,可生成清晰,靈活的甘特圖。本文介紹了如何創建和修改數據記錄。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
甘特圖(Xgantt)從1998年的第一個商用版本開始就致力于計劃編制和項目管理方面控件的研究和開發,經過20多年的積累和沉淀,目前可為軟件開發商和最終用戶提供最頂級的計劃編制和項目管理的控件產品,幫助用戶快速的整合項目管理軟件所需的甘特圖,網絡圖,資源柱狀圖,日程日歷,資源調度等功能模塊,并提供全方位的支持和服務。
VARCHART XGantt是一款功能強大的甘特圖控件,其模塊化的設計讓您可以創建滿足需要的應用程序。XGantt可用于.NET,ActiveX和ASP.NET應用程序,可以快速、簡單地集成到您的應用程序中,幫助您識別性能瓶頸、避免延遲以及高效利用資源,使復雜數據變得更加容易理解。
VARCHART XGantt在市場上已有近30年的歷史,它提供了最完善的C#Gantt圖表控件,可用于構建現代而又可靠的行業資源調度應用程序。
在定義了數據表字段后,你可以通過API向表中添加數據記錄。有兩種方式可以將數據記錄添加到你的記錄中。我們建議通常的做法是定義一個類型為對象的數組,其元素數量與數據表字段的數量相對應。
Example Code VB.NET
Dim dataTable As VcDataTable Dim dataRecCltn As VcDataRecordCollection Dim dataRecVal() As Object Dim dataRec1 As VcDataRecord Dim dataRec2 As VcDataRecord dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata") dataRecCltn = dataTable.DataRecordCollection ReDim dataRecVal(dataTable.DataTableFieldCollection.Count) dataRecVal(Main_ID) = "1" dataRecVal(Main_Name) = "Node 1" dataRecVal(Main_Start) = DateSerial(2013, 1, 8) dataRecVal(Main_Duration) = 8Example Code C#
VcDataTable dataTable = vcGantt1.DataTableCollection.DataTableByName("Maindata"); VcDataRecordCollection dataRecCltn = dataTable.DataRecordCollection; Object [] dataRecVal = new object[dataTable.DataTableFieldCollection.Count]; VcDataRecord dataRec1; VcDataRecord dataRec2; dataRecVal[Main_ID] = "1"; dataRecVal[Main_Name] = "Node 1"; dataRecVal[Main_Start] = "08.01.2013"; dataRecVal[Main_Duration] = 8一個數據記錄可以通過對象DataRecordCollection的方法Add()來添加,對象數組作為參數傳遞。
示例代碼VB.NET
dataRec1 = dataRecCltn.Add(dataRecVal)
示例代碼 C#
dataRec1 = dataRecCltn.Add(dataRecVal)
作為第二種方法,你可以使用一個由數據值組成的字符串,并以分號分隔。
示例代碼VB.NET
dataRecCltn.Add("2;Node 2;15.01.13;;9")
示例代碼 C#
dataRec2.AllData = "2;活動Y;15.01.13;;9"。
如果一個數據值包含一個分號,那么這個字符串必須用雙引號括起來。
示例代碼VB.NET
dataRec2 = dataRecCltn.Add("2;""節點2;";15.01.13;;9")
示例代碼 C#
dataRec2 = dataRecCltn.Add("2;\"節點2;\";15.01.13;;9")
通過使用DataRecordByID()方法,可以通過主鍵快速找到對數據基礎對象的引用。
Example Code VB.NET
dataRec1 = dataRecCltn.DataRecordByID("1")
dataRec2 = dataRecCltn.DataRecordByID("2")
Example Code C#
dataRec1 = dataRecCltn.DataRecordByID(1);
dataRec2 = dataRecCltn.DataRecordByID(2);
通過使用索引屬性DataField(),可以很容易地修改數據記錄的單個數據字段的內容。為了替換一條記錄的所有數據字段內容,你可以使用AllData()這個屬性。
Example Code VB.NET
dataRec1.DataField(Main_ID) = 1 dataRec1.DataField(Main_Name) = "Activity X" dataRec1.DataField(Main_Start) = DateSerial(2013, 1, 4) dataRec1.DataField(Main_Duration) = 12 dataRec1.Update() dataRec2.AllData = "2;Activity Y;18.01.13;;5" dataRec2.Update()Example Code C#
dataRec1.set_DataField(Main_ID, 1); dataRec1.set_DataField(Main_Name, "Activity X"); dataRec1.set_DataField(Main_Start, "04.01.2014"); dataRec1.set_DataField(Main_Duration, 12); dataRec1.Update(); dataRec2.AllData = "2;Activity Y;18.01.14;;5"; dataRec2.Update();只有在對象DataRecord的方法Update()被調用后,才能顯示對記錄的修改。
使用Alldata加載值適合在設計時快速顯示所有數據值,也適合將數據記錄內容轉移到不同表的記錄中。您也可以使用這種數據格式與OLE拖放進行信息交換。
示例代碼VB.NET
Dim content as String content = dataRec1.AllData & vbCr & dataRec2.AllData & vbCr &。 dataRec1.DataField(Main_Name) MsgBox(content)示例代碼 C#
content = dataRec1.AllData + "\r\n" + dataRec2.AllData + "\r\n" + 。 dataRec1.get_DataField(Main_Name)。 MessageBox.Show(content);注意:為了提高數據字段訪問的可讀性,可以定義全局常量,這些全局常量的名稱而不是索引號,這樣更具有描述性。下面請找到其上下文中的代碼。
Example Code VB.NET
Const Main_ID = 0 Const Main_Name = 1 Const Main_Start = 2 Const Main_Duration = 4 '... Dim dataRec1 As VcDataRecord Dim dataRec2 As VcDataRecord Dim content As String VcGantt1.TimeScaleEnd = DateSerial(2014, 1, 1) VcGantt1.TimeScaleStart = DateSerial(2013, 1, 1) VcGantt1.ExtendedDataTablesEnabled = True dataTable = VcGantt1.DataTableCollection.DataTableByName("Maindata") dataRecCltn = dataTable.DataRecordCollection ReDim dataRecVal(dataTable.DataTableFieldCollection.Count) dataRecVal(Main_ID) = "1" dataRecVal(Main_Name) = "Node 1" dataRecVal(Main_Start) = DateSerial(2013, 1, 8) dataRecVal(Main_Duration) = 8 dataRec1 = dataRecCltn.Add(dataRecVal) dataRecCltn.Add("2;Node 2;15.01.13;;9") VcGantt1.EndLoading() '... dataRec1 = dataRecCltn.DataRecordByID("1") dataRec2 = dataRecCltn.DataRecordByID("2") dataRec1.DataField(Main_ID) = 1 dataRec1.DataField(Main_Name) = "Activity X" dataRec1.DataField(Main_Start) = DateSerial(2013, 1, 4) dataRec1.DataField(Main_Duration) = 12 dataRec1.Update() dataRec2.AllData = "2;Activity Y;18.01.13;;5" dataRec2.Update() content = dataRec1.AllData & vbCr & dataRec2.AllData & vbCr & dataRec1.DataField(Main_Name) MsgBox(content) '... dataRec2.AllData = "2;""Activity Y;Z"";18.01.13;;5" dataRec2.Update() content = dataRec1.AllData & vbCr & dataRec2.AllData MsgBox(content)Example Code C#
const int Main_ID = 0; const int Main_Name = 1; const int Main_Start = 2; const int Main_Duration = 4; //... VcDataRecord dataRec1; VcDataRecord dataRec2; string content; vcGantt1.TimeScaleEnd = Convert.ToDateTime("01.01.2014"); vcGantt1.TimeScaleStart = Convert.ToDateTime("01.01.2013"); vcGantt1.ExtendedDataTablesEnabled = true; VcDataTable dataTable = vcGantt1.DataTableCollection.DataTableByName("Maindata"); VcDataRecordCollection dataRecCltn = dataTable.DataRecordCollection; Object [] dataRecVal = new object[dataTable.DataTableFieldCollection.Count];) dataRecVal[Main_ID] = "1"; dataRecVal[Main_Name] = "Node 1"; dataRecVal[Main_Start] = "08.01.2013"; dataRecVal[Main_Duration] = 8; dataRec1 = dataRecCltn.Add(dataRecVal); dataRecCltn.Add("2;Node 2;15.01.13;;9"); vcGantt1.EndLoading(); //... dataRec1 = dataRecCltn.DataRecordByID(1); dataRec2 = dataRecCltn.DataRecordByID(2); dataRec1.set_DataField(Main_ID, 1); dataRec1.set_DataField(Main_Name, "Activity X"); dataRec1.set_DataField(Main_Start, "04.01.2013"); dataRec1.set_DataField(Main_Duration, 12); dataRec1.Update(); dataRec2.AllData = "2;Activity Y;18.01.13;;5"; dataRec2.Update(); content = dataRec1.AllData + "\r\n" + dataRec2.AllData + "\r\n" + dataRec1.get_DataField(Main_Name); MessageBox.Show(content); //... dataRec2.AllData = "2;Activity Y;Z;18.01.13;;5"; dataRec2.Update(); content = dataRec1.AllData + "\r\n" + dataRec2.AllData; MessageBox.Show(content);將創建以下輸出:
想要了解甘特圖或慧都APS系統,請登錄慧都網,解決您的問題!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: