翻譯|使用教程|編輯:楊鵬連|2021-03-19 10:06:11.603|閱讀 321 次
概述:VARCHART XGantt是一個交互式甘特圖組件,可生成清晰,靈活的甘特圖。本文介紹了如何創(chuàng)建和修改數(shù)據(jù)記錄。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
甘特圖(Xgantt)從1998年的第一個商用版本開始就致力于計劃編制和項目管理方面控件的研究和開發(fā),經(jīng)過20多年的積累和沉淀,目前可為軟件開發(fā)商和最終用戶提供最頂級的計劃編制和項目管理的控件產(chǎn)品,幫助用戶快速的整合項目管理軟件所需的甘特圖,網(wǎng)絡(luò)圖,資源柱狀圖,日程日歷,資源調(diào)度等功能模塊,并提供全方位的支持和服務。
VARCHART XGantt是一款功能強大的甘特圖控件,其模塊化的設(shè)計讓您可以創(chuàng)建滿足需要的應用程序。XGantt可用于.NET,ActiveX和ASP.NET應用程序,可以快速、簡單地集成到您的應用程序中,幫助您識別性能瓶頸、避免延遲以及高效利用資源,使復雜數(shù)據(jù)變得更加容易理解。
VARCHART XGantt在市場上已有近30年的歷史,它提供了最完善的C#Gantt圖表控件,可用于構(gòu)建現(xiàn)代而又可靠的行業(yè)資源調(diào)度應用程序。
在定義了數(shù)據(jù)表字段后,你可以通過API向表中添加數(shù)據(jù)記錄。有兩種方式可以將數(shù)據(jù)記錄添加到你的記錄中。我們建議通常的做法是定義一個類型為對象的數(shù)組,其元素數(shù)量與數(shù)據(jù)表字段的數(shù)量相對應。
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) = 8
Example 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
一個數(shù)據(jù)記錄可以通過對象DataRecordCollection的方法Add()來添加,對象數(shù)組作為參數(shù)傳遞。
示例代碼VB.NET
dataRec1 = dataRecCltn.Add(dataRecVal)
	示例代碼 C#
dataRec1 = dataRecCltn.Add(dataRecVal) 
作為第二種方法,你可以使用一個由數(shù)據(jù)值組成的字符串,并以分號分隔。
示例代碼VB.NET
dataRecCltn.Add("2;Node 2;15.01.13;;9")
示例代碼 C#
dataRec2.AllData = "2;活動Y;15.01.13;;9"。
如果一個數(shù)據(jù)值包含一個分號,那么這個字符串必須用雙引號括起來。
示例代碼VB.NET
dataRec2 = dataRecCltn.Add("2;""節(jié)點2;";15.01.13;;9")
示例代碼 C#
dataRec2 = dataRecCltn.Add("2;\"節(jié)點2;\";15.01.13;;9")
通過使用DataRecordByID()方法,可以通過主鍵快速找到對數(shù)據(jù)基礎(chǔ)對象的引用。
	Example Code VB.NET
dataRec1 = dataRecCltn.DataRecordByID("1")
dataRec2 = dataRecCltn.DataRecordByID("2") 
Example Code C#
	dataRec1 = dataRecCltn.DataRecordByID(1);
dataRec2 = dataRecCltn.DataRecordByID(2); 
通過使用索引屬性DataField(),可以很容易地修改數(shù)據(jù)記錄的單個數(shù)據(jù)字段的內(nèi)容。為了替換一條記錄的所有數(shù)據(jù)字段內(nèi)容,你可以使用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()被調(diào)用后,才能顯示對記錄的修改。
使用Alldata加載值適合在設(shè)計時快速顯示所有數(shù)據(jù)值,也適合將數(shù)據(jù)記錄內(nèi)容轉(zhuǎn)移到不同表的記錄中。您也可以使用這種數(shù)據(jù)格式與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);注意:為了提高數(shù)據(jù)字段訪問的可讀性,可以定義全局常量,這些全局常量的名稱而不是索引號,這樣更具有描述性。下面請找到其上下文中的代碼。
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);
將創(chuàng)建以下輸出: 
 
	
想要了解甘特圖或慧都APS系統(tǒng),請登錄慧都網(wǎng),解決您的問題!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: