Gantt_Chart-Task_Chart-2-ConfiguringTaskChartControl

設置chart control
1. 隱藏列
 task data provider爲:   {id: "T1", name: "Task #1", startTime: "1/14/2008 8:0:0", endTime: "1/28/2008 17:0:0"}
 要隱藏的話, 設置列visible屬性爲false:
  <mx:AdvancedDataGridColumn dataField="name" headerText="Name"/>
  <mx:AdvancedDataGridColumn dataField="startTime" headerText="Start" visible="false"/>
  <mx:AdvancedDataGridColumn dataField="endTime" headerText="End" visible="false"/>
 這裏的endTime和startTime的visible屬性爲false, 所以不會顯示; id沒有列出, 所以也不會顯示

2. 爲task設置圖標, 使用GanttDataGrid的iconFunction屬性, 來設置task的icon
 [Embed(source="summary.png")]
 public var SummaryIcon:Class;

 [Embed(source="leaf.png")]
 public var LeafIcon:Class;
   
 public function customIconFunction(item:Object):Class {
  var taskItem:TaskItem = taskChart.ganttSheet.itemToTaskItem(item);
  return taskItem.isSummary ? SummaryIcon : LeafIcon;       
 }

 <ilog:dataGrid>
  <ilog:GanttDataGrid iconFunction="customIconFunction" />
 </ilog:dataGrid>

3. 設置時間的可視範圍
 使用GanttSheet的visibleTimeRangeStart和visibleTimeRangeEnd這兩個屬性來設置它的範圍, 】
 <ilog:ganttSheet>
  <ilog:GanttSheet
   visibleTimeRangeStart="{new Date(2008, 0, 1)}"
   visibleTimeRangeEnd="{new Date(2008, 11, 31, 24)}" />
 </ilog:ganttSheet>
 當這個範圍沒有設置的時候, task chart根據task data provider的數據來設置這個範圍, 這裏的時間範圍是2008-01-01 00:00:00到2008-12-31 24:00:00

4. 設置最大和最小的可視時間
 上面所說的可視範圍永遠是在這個範圍之內的
 <ilog:ganttSheet>
  <ilog:GanttSheet minVisibleTime="{new Date(2007, 0, 1)}" maxVisibleTime="{new Date(2010, 11, 31, 24)}"/>
 </ilog:ganttSheet>
 這裏的時間範圍是從2007-01-01 00:00:00到2007-12-31 24:00:00

5. tasks和constraints的tooltips
 兩種類型的tooltip: 鼠標滑過時顯示的tooltip; 編輯(移動或者resize)task時, 作爲對正在進行的操作的回饋而顯示的tooltip。默認情況下, 這兩個tooltip顯示的內容是相同的, task: task的名字、 開始時間、結束時間和持續時間; constraint: constraint的種類、source task和destination task。 可以通過設置GanttSheet的dataTipField或者dataTipFunction屬性來自定義data  tip將要顯示的內容。 設置GanttSheet的editingTipFunction屬性來自定義editing tip將要顯示的內容。

6. 設置工作和非工作日期
 工作和非工作日期由以下屬性設置


屬性    描述
nonWorkingDays  一個由非工作日組成的數組, 0表示Sunday、6表示Saturday
workingTimes  可以使用數組或者對象來作爲此參數的值, 每一個對象需要包含以下屬性:
      rangeStart: 工作時間範圍的開始時間, 一個形如HH:MM的字符串, 此屬性未必須屬性
      rangEnd: 工作時間範圍的結束時間, 一個形如HH:MM的字符串, 此屬性未必須屬性
      days: 數組; 指定此workingTime對哪些天有效; 可選值從0(Sunday)~6(Saturday); 此屬性可選, 當此屬性未設置時, 設置的workingTime對所有workDay有效
     例: workingTimes="{[ {rangeStart: '8:00', rangeEnd: '11:45'}, {rangeStart: '12:45', rangeEnd: '17:30'}, {days: [5], rangeStart: '8:00', rangeEnd: '11:45'},  {days: [5], rangeStart: '12:45', rangeEnd: '16:30'} ]}"
nonWorkingRanges 非工作時間, 對nonWorkingDays的一個補充, 可以是一個數組也可以是一個對象, 它的優先級高於另外兩個屬性, 它的成員可以是
      1) 一個Date對象, 指定某一天爲非工作時間
      2) 一個包含以下屬性的對象
       rangeStart: 一個表示非工作時間範圍的開始時間的Date對象
       rangeEnd: 一個表示非工作時間範圍的結束時間的Date對象
     例: nonWorkingRanges="{[ new Date(2007,11,25), {rangeStart: new Date(2008,1,1,12,0), rangeEnd: new Date(2008,1,4,14,30} ]}"
      表示2007-11-25一整天和2008-02-01 12:00:00到2008-02-04 14:30:00爲非工作時間
      
7. resize task的時候管理task
 當設置了此屬性之後, move或者resize task的時候, task只能以設置的值來跳動, 比如說<ilog:GanttSheet snappingTimePrecision=”{{unit: TimeUnit.DAY, steps: 1}}”/>, 就只能是一天一天的動。

發佈了12 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章