這篇文章給大家講解 dhtmlxGantt的數據屬性和數據庫結構。
DhtmlxGantt正版試用下載
數據屬性
甘特圖的數據源是存儲兩種類型信息的對象:
任務對象的屬性
強制屬性-這些屬性將始終在客戶端上定義,它們必須由數據源提供,以便甘特圖正確運行。
-
text - ( string ) 任務文本。
-
start_date - ( Date|string ) 任務計劃開始的日期。如果作為字符串提供,則必須匹配date_format格式。
-
持續時間-(數字)任務持續時間。 可以用 'end_date' 屬性代替。
-
id-( string|number ) 任務 ID。
可選屬性-這些屬性可能會或可能不會被定義。如果定義了這些屬性,甘特圖的默認邏輯和模板將使用它們。
-
type-( string ) 任務類型。可用值存儲在類型對象中:
-
"task" - 常規任務(默認值)。
-
“項目”- 一個任務,在其最早的子任務開始時開始,并在其最新的子任務結束時結束。 對于此類任務,將忽略start_date、end_date和duration屬性。
-
“里程碑” - 用于標記項目重要日期的零工期任務。對于此類任務,將忽略duration、progress、end_date屬性。
-
parent - ( string|number ) 父任務的ID。根任務的id由root_id配置指定。
-
progress - (從 0 到 1的數字)任務進度。
-
open - ( boolean ) 指定任務分支最初是否打開(以顯示子任務)。
-
end_date - ( Date|string ) 計劃完成任務的日期。用作設置任務持續時間的持續時間屬性的替代方法。如果作為字符串提供,則 必須匹配date_format格式。
-
row_height - ( number ) 設置表格行的默認高度
-
bar_height - ( number,string ) 設置時間線區域中任務欄的高度
-
readonly -( boolean ) 可以將任務標記為readonly。
-
editable -( boolean ) 可以將任務標記為可編輯。
-
rollup -( boolean ) 指定任務(類型:“任務”)或里程碑(類型:“里程碑”) 是否應該出現在父項目上。
-
hide_bar -( boolean ) 定義任務(類型:“任務”)或里程碑(類型:“里程碑”)是否應隱藏在時間線區域中。
動態屬性-在客戶端上創建并表示任務或鏈接的當前狀態。它們不應保存到數據庫中,如果在 JSON/XML 中指定了這些屬性,甘特圖將忽略這些屬性。
-
$source - (數組)來自任務的鏈接的 ID。
-
$target -進入任務的鏈接的(數組) ID。
-
$level - ( number ) 任務層次結構中的任務級別(從零開始的編號)。
-
$open - ( boolean ) 指定任務當前是否打開。
-
$index - ( number ) 甘特圖中任務行的編號。
JSON 和 XML 數據的默認日期格式是“%d-%m-%Y %H:%i”(請參閱日期格式規范)。
要更改它,請使用date_format配置選項。
gantt.config.date_format="%Y-%m-%d";
gantt.init("gantt_here");
一旦加載到甘特圖,start_date和end_date屬性將被解析為 Date 類型。
date_format配置不支持的日期格式可以通過parse_date模板手動解析。
鏈接對象的屬性
強制屬性
-
id - ( string|number ) 鏈接 ID。
-
source - ( number ) 依賴項將從其開始的任務的 ID。
-
target - ( number ) 依賴項將結束的任務的 id。
-
type - ( string ) 依賴類型。可用值存儲在鏈接對象中。默認情況下,它們是:
-
“0” - 'finish_to_start'。
-
“1” - 'start_to_start'。
-
“2” - 'finish_to_finish'。
-
“3” - 'start_to_finish'。
如果您想以不同于默認值('0','1','2')的方式存儲依賴類型,您可以更改鏈接對象的相關屬性的值。例如:
gantt.config.links.start_to_start = "start2start";
請注意,這些值僅影響依賴類型的存儲方式,而不影響可視化的行為。
可選屬性
-
lag -( number ) 可選,任務滯后。
-
readonly -( boolean ) 可選,可以將鏈接標記為readonly。
-
editable -( boolean ) 可選,可以將鏈接標記為可編輯。
自定義屬性
您不僅限于上面列出的強制屬性,還可以將任何自定義屬性添加到數據項。額外的數據屬性將被解析為字符串并加載到客戶端,您可以根據需要使用它們。
數據庫結構
如果您使用數據庫,我們建議使用 2 個單獨的表來存儲數據:一個用于任務,一個用于鏈接。
加載任務和鏈接到甘特圖的標準數據庫的結構是:
gantt_tasks表 - 指定甘特圖任務
-
id - ( string,number ) 事件 ID。
-
start_date - ( Date ) 任務計劃開始的日期。
-
text - ( string ) 任務的描述。
-
progress - ( number ) 一個從 0 到 1 的數字,表示任務完成的百分比。
-
duration - ( number ) 以當前時間尺度為單位的任務持續時間。
-
parent - ( number ) 父任務的 ID。
-
type - ( string ) 可選,任務的類型。
-
readonly - ( boolean ) 可選,可以將任務標記為readonly。
-
editable - ( boolean ) 可選,可以將任務標記為可編輯。
gantt_links表 - 指定甘特圖依賴鏈接
-
id - ( string,number ) 事件 ID。
-
source - ( number ) 源任務的 id。
-
target - ( number ) 目標任務的 id。
-
type - ( string ) 依賴的類型:
-
0 - 'finish_to_start'
-
1 - 'start_to_start'
-
2 - 'finish_to_finish'
-
3 - 'start_to_finish'
-
lag -(數字)可選,任務滯后。
-
readonly - ( boolean ) 可選,可以將鏈接標記為readonly。
-
editable - ( boolean ) 可選,可以將鏈接標記為可編輯。
使用以下SQL語句創建包含2個提到的表的數據庫:
CREATE TABLE `gantt_links` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`source` int(11) NOT NULL,
`target` int(11) NOT NULL,
`type` varchar(1) NOT NULL,
PRIMARY KEY (`id`)
)
CREATE TABLE `gantt_tasks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`text` varchar(255) NOT NULL,
`start_date` datetime NOT NULL,
`duration` int(11) NOT NULL,
`progress` float NOT NULL,
`sortorder` int(11) NOT NULL,
`parent` int(11) NOT NULL,
PRIMARY KEY (`id`)
)
dhtmlxGantt是用于跨瀏覽器和跨平臺應用程序的功能齊全的Gantt圖表,可滿足項目管理控件應用程序的所有需求,是最完善的甘特圖圖表庫。了解更多DhtmlxGantt相關內容和資訊,歡迎在線咨詢或者私信我獲取正版試用版及報價。
甘特圖控件交流群:764148812 歡迎進群交流討論
更多正版甘特圖軟件下載、購買、授權咨詢,請點這里!
標簽:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn