프로젝트보기 작업

특정 간트 차트보기 데이터

간트 차트는 프로젝트 계획의 그래픽 표현을 제공합니다. 때로는 바 스타일 정보, 그리드 라인 속성, 진행 라인 속성 및 시간 규모 정보와 같은 Gantt 차트보기와 관련된 특정 데이터를 읽어야합니다. Aspose.Tasks for java api는 ganttchartview 클래스를 사용하여 모든 속성에 개별적으로 액세스 할 수있는 기능을 제공합니다. 이 기능은 Microsoft Project 2003, 2007, 2010, 2013, 2016 및 2019 MPP 파일 형식에 지원됩니다.

 1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
 2// The path to the documents directory.
 3String dataDir = Utils.getDataDir(ReadSpecificGanttChartData.class);
 4Project project = new Project(dataDir + "Project2003.mpp");
 5GanttChartView view = (GanttChartView) project.getViews().toList().get(1);
 6System.out.println("View.BarRounding: " + view.getBarRounding());
 7System.out.println("view.ShowBarSplits: " + view.getShowBarSplits());
 8System.out.println("view.ShowDrawings: " + view.getShowDrawings());
 9System.out.println("view.RollUpGanttBars: " + view.getRollUpGanttBars());
10System.out.println("view.HideRollupBarsWhenSummaryExpanded: " + view.getHideRollupBarsWhenSummaryExpanded());
11System.out.println("view.BarSize: " + view.getBarSize());
12System.out.println("view.BarStyles count: " + view.getBarStyles().size());
13
14int i = 0;
15for (GanttBarStyle barStyle : view.getBarStyles()) {
16    System.out.println(barStylesNames[i] + ": " + barStyle.getName());
17    System.out.println(barStylesShowFor[i] + ":" + barStyle.getShowFor());
18    System.out.println(barStylesFrom[i] + ":" + barStyle.getFrom());
19    System.out.println(barStylesTo[i] + ":" + barStyle.getTo());
20    System.out.println(barStylesMiddleShape[i] + ":" + barStyle.getMiddleShape());
21    System.out.println(barStylesMiddleColor[i] + ":" + barStyle.getMiddleShapeColor());
22    System.out.println(barStylesStartShape[i] + ":" + barStyle.getStartShape());
23    System.out.println(barStylesEndShape[i] + ":" + barStyle.getEndShape());
24    System.out.println(barStylesEndShapeColor[i] + ":" + barStyle.getEndShapeColor());
25    i++;
26}
27
28System.out.println("Gridlines count: " + view.getGridlines().size());
29Gridlines gridlines = view.getGridlines().get(0);
30
31System.out.println("Gridlines.Type: " + gridlines.getType());
32System.out.println("Gridlines interval: " + gridlines.getInterval());
33System.out.println("Gridlines.NormalColor: " + gridlines.getNormalColor());
34System.out.println("Gridlines.NormalPattern: " + gridlines.getNormalPattern());
35System.out.println("Gridlines.IntervalPattern: " + gridlines.getIntervalPattern());
36System.out.println("Gridlines.IntervalColor: " + gridlines.getIntervalColor());
37
38System.out.println("View Text Styles: " + view.getTextStyles());
39
40System.out.println("ProgressLInes.BeginAtDate: " + view.getProgressLines().getBeginAtDate().toString());
41System.out.println("ProgressLines.isBaselinePlan: " + view.getProgressLines().isBaselinePlan());
42System.out.println("ProgressLines.DisplaySelected: " + view.getProgressLines().getDisplaySelected());
43System.out.println("ProgressLines.SelectedDates.Count: " + view.getProgressLines().getSelectedDates().size());
44
45System.out.println("ProgressLines.DisplayAtRecurringIntervals: "
46        + view.getProgressLines().getDisplayAtRecurringIntervals());
47System.out.println("ProgressLines.RecurringInterval.Interval: "
48        + view.getProgressLines().getRecurringInterval().getInterval());
49System.out.println("ProgressLines.RecurringInterval.WeeklyDays.Count"
50        + view.getProgressLines().getRecurringInterval().getWeeklyDays().size());
51System.out.println("RecurringInterval.DayType.Friday: "
52        + (int) view.getProgressLines().getRecurringInterval().getWeeklyDays().get(1));
53System.out.println("RecurringInterval.DayType.Saturday: "
54        + (int) view.getProgressLines().getRecurringInterval().getWeeklyDays().get(2));
55System.out.println("RecurringInterval.DayType.Sunday: "
56        + (int) view.getProgressLines().getRecurringInterval().getWeeklyDays().get(0));
57
58System.out.println("ProgressLines.ShowDate" + view.getProgressLines().getShowDate());
59
60System.out.println("ProgressLines.ProgressPointShape: " + view.getProgressLines().getProgressPointShape());
61System.out.println("ProgressLines.ProgressPointColor: " + view.getProgressLines().getProgressPointColor());
62System.out.println("ProgressLines.LineColor: " + view.getProgressLines().getLineColor());
63System.out.println("ProgressLines.LinePattern" + view.getProgressLines().getLinePattern());
64
65System.out.println(
66        "ProgressLines.OtherProgressPointShape: " + view.getProgressLines().getOtherProgressPointShape());
67System.out.println("ProgressLines.OtherProgressPointColor: "
68        + view.getProgressLines().getOtherProgressPointColor().toString());
69System.out.println("ProgressLines.OtherLineColor: " + view.getProgressLines().getOtherLineColor());
70
71System.out.println("BottomTimescaleTier" + view.getBottomTimescaleTier());
72
73System.out.println("BottomTimescaleTier.Count: " + view.getBottomTimescaleTier().getCount());
74System.out.println("BottomTimescaleTier.Unit: " + view.getBottomTimescaleTier().getUnit());
75System.out.println("BottomTimescaleTier.UsesFiscalYear: " + view.getBottomTimescaleTier().getUsesFiscalYear());
76System.out.println("BottomTimescaleTier.Alignment: " + view.getBottomTimescaleTier().getAlignment());
77System.out.println("BottomTimescaleTier.ShowTicks: " + view.getBottomTimescaleTier().getShowTicks());
78System.out.println("BottomTimescaleTier.Label: " + view.getBottomTimescaleTier().getLabel());
79
80System.out.println("MiddleTimescaleTier.Count: " + view.getMiddleTimescaleTier().getCount());
81System.out.println("TimescaleUnit.Weeks: " + view.getMiddleTimescaleTier().getUnit());
82System.out.println("MiddleTimescaleTier.Alignment: " + view.getMiddleTimescaleTier().getAlignment());
83System.out.println("MiddleTimescaleTier.ShowTicks: " + view.getMiddleTimescaleTier().getShowTicks());
84System.out.println("MiddleTimescaleTier.Label: " + view.getMiddleTimescaleTier().getLabel());
85
86System.out.println("TopTimescaleTier.Unit: " + view.getTopTimescaleTier().getUnit());
87System.out.println("TopTimescaleTier.UsesFiscalYear: " + view.getTopTimescaleTier().getUsesFiscalYear());
88System.out.println("TopTimescaleTier.Alignment: " + view.getTopTimescaleTier().getAlignment());
89System.out.println("TopTimescaleTier.ShowTicks: " + view.getTopTimescaleTier().getShowTicks());
90System.out.println("TopTimescaleTier.Label" + view.getTopTimescaleTier().getLabel());

Configure Gantt Chart View by Showing Selected Custom Fields

Extended attributes added to a project may be assigned to a task and it is often desirable to add custom fields to the default view of an MPP file, or you might want selected custom fields to be shown automatically rather than selected manually. This article describes how to achieve this by customizing a Project’s table.

The code below shows how to configure a Gantt chart view with custom fields.

 1// The path to the documents directory.
 2String dataDir = Utils.getDataDir(ConfigureGanttChartView.class);
 3
 4Project project = new Project(dataDir + "New project 2010.mpp");
 5
 6// Create a new project task
 7Task task = project.getRootTask().getChildren().add("New Activity");
 8
 9// Define new custom attribute
10ExtendedAttributeDefinition text1Definition = ExtendedAttributeDefinition.createTaskDefinition(ExtendedAttributeTask.Text1, null);
11project.getExtendedAttributes().add(text1Definition);
12// Add custom text attribute to created task.
13task.getExtendedAttributes().add(text1Definition.createExtendedAttribute("Activity attribute"));
14
15// Customize table by adding text attribute field
16TableField attrField = new TableField();
17attrField.setField(Field.TaskText1);
18attrField.setWidth(20);
19attrField.setTitle("Custom attribute");
20attrField.setAlignTitle(StringAlignment.Center);
21attrField.setAlignData(StringAlignment.Center);
22
23Table table = project.getTables().toList().get(0);
24table.getTableFields().add(3, attrField);
25
26// The result of opening of saved project in MSP2010 is in attached screenshot
27project.save("saved.mpp", SaveFileFormat.MPP);

Customize Timescale Tier Labels according to Local Culture

Aspose.Tasks for Java API can be used to customer timescale tier labels according to local culture information.

 1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
 2// The path to the documents directory.
 3String dataDir = Utils.getDataDir(DefaultProjectProperties.class);
 4Project project = new Project(dataDir + "New Project 2007.mpp");
 5
 6project.getTaskLinks().add(project.getRootTask().getChildren()
 7        .add("Task 1"), project.getRootTask().getChildren()
 8        .add("Task 2"));
 9
10GanttChartView view = (GanttChartView)project.getDefaultView();
11view.getMiddleTimescaleTier().setUnit(TimescaleUnit.Months);
12project.set(Prj.TIMESCALE_START, new Date(112, 7, 6));
13
14view.getMiddleTimescaleTier().setDateTimeConverter( new DateTimeConverter() {
15          public String invoke(java.util.Date date)
16        {
17              Calendar cal = Calendar.getInstance();
18              cal.setTime(date);
19              int month = cal.get(Calendar.MONTH);
20            return new String[] { "Jan.", "Feb.", "Mar.", "Apr.","May.", "Jun.", "July.","Aug.", "Sep.", "Oct.", "Nov.", "Dec." }[month];
21        }
22        });
23
24project.save("saved.pdf", SaveFileFormat.PDF);

Setting TimeScale Count for Project

The TimeScaleTier class makes it possible to set the time scale count information for a Project. This topic shows how to achieve this objective using Aspose.Tasks for Java API.

The code below shows how to set the time scale count.

 1// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Tasks-for-Java
 2// The path to the documents directory.
 3String dataDir = Utils.getDataDir(SetTimeScaleCount.class);
 4
 5Project project = new Project();
 6GanttChartView view = new GanttChartView();
 7
 8view.getBottomTimescaleTier().setCount(2);
 9view.getBottomTimescaleTier().setShowTicks(false);
10
11view.getMiddleTimescaleTier().setCount(2);
12view.getMiddleTimescaleTier().setShowTicks(false);
13
14project.getViews().add(view);
15
16// Add some test data to project
17Task task1 = project.getRootTask().getChildren().add("Task 1");
18Task task2 = project.getRootTask().getChildren().add("Task 2");
19task1.set(Tsk.DURATION, task1.getParentProject().getDuration(24, TimeUnitType.Hour));
20task2.set(Tsk.DURATION, task1.getParentProject().getDuration(40, TimeUnitType.Hour));
21
22project.save(dataDir + "temp.pdf", SaveFileFormat.PDF); // Result is in
23// attached
24// screenshot
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.