

| Type | Description | |||
| Boolean | A Boolean expression that specifies whether the bars with exBarTreatAsNonworking set on True indicate non-working parts of the items. |
The control supports the following ways of specify the non-working parts for items:
In conclusion, a bar is treated as a non-working part inside the item if:
The following screen shot shows a "holidays" bar that indicates the non-working parts of the item where it is hosted:

In this sample you can notice that all bars preserves their length ( working part ), while the "holidays" or any other bar bar is moving.
The following samples adds a bar to be treated as a nonworking part like a "holidays" bar:
VBA (MS Access, Excel...)
With G2antt1
.BeginUpdate
With .Chart
.FirstVisibleDate = #1/1/2001#
.LevelCount = 2
.PaneWidth(False) = 48
.AllowNonworkingBars = True
0.Bars.Add("Task:Split").Shortcut = "Task"
End With
.Columns.Add "Tasks"
With .Items
h = .AddItem("Task 1")
.ItemNonworkingUnits(h,False) = "weekday(value) in (0,6)"
.AddBar h,"",#1/2/2001#,#1/5/2001#,"A","holyday"
.ItemBar(h,"A",38) = True
.AddBar h,"Task",#1/5/2001#,#1/12/2001#,"Z"
.ItemBar(h,"Z",20) = True
End With
.EndUpdate
End With
VB6
With G2antt1
.BeginUpdate
With .Chart
.FirstVisibleDate = #1/1/2001#
.LevelCount = 2
.PaneWidth(False) = 48
.AllowNonworkingBars = True
0.Bars.Add("Task:Split").Shortcut = "Task"
End With
.Columns.Add "Tasks"
With .Items
h = .AddItem("Task 1")
.ItemNonworkingUnits(h,False) = "weekday(value) in (0,6)"
.AddBar h,"",#1/2/2001#,#1/5/2001#,"A","holyday"
.ItemBar(h,"A",exBarTreatAsNonworking) = True
.AddBar h,"Task",#1/5/2001#,#1/12/2001#,"Z"
.ItemBar(h,"Z",exBarKeepWorkingCount) = True
End With
.EndUpdate
End With
VB.NET
Dim h
With Exg2antt1
.BeginUpdate()
With .Chart
.FirstVisibleDate = #1/1/2001#
.LevelCount = 2
.set_PaneWidth(False,48)
.AllowNonworkingBars = True
0.Bars.Add("Task:Split").Shortcut = "Task"
End With
.Columns.Add("Tasks")
With .Items
h = .AddItem("Task 1")
.set_ItemNonworkingUnits(h,False,"weekday(value) in (0,6)")
.AddBar(h,"",#1/2/2001#,#1/5/2001#,"A","holyday")
.set_ItemBar(h,"A",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking,True)
.AddBar(h,"Task",#1/5/2001#,#1/12/2001#,"Z")
.set_ItemBar(h,"Z",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount,True)
End With
.EndUpdate()
End With
VB.NET for /COM
Dim h
With AxG2antt1
.BeginUpdate()
With .Chart
.FirstVisibleDate = #1/1/2001#
.LevelCount = 2
.PaneWidth(False) = 48
.AllowNonworkingBars = True
0.Bars.Add("Task:Split").Shortcut = "Task"
End With
.Columns.Add("Tasks")
With .Items
h = .AddItem("Task 1")
.ItemNonworkingUnits(h,False) = "weekday(value) in (0,6)"
.AddBar(h,"",#1/2/2001#,#1/5/2001#,"A","holyday")
.ItemBar(h,"A",EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking) = True
.AddBar(h,"Task",#1/5/2001#,#1/12/2001#,"Z")
.ItemBar(h,"Z",EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount) = True
End With
.EndUpdate()
End With
C++
/*
Copy and paste the following directives to your header file as
it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
#import <ExG2antt.dll>
using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
var_Chart->PutFirstVisibleDate("1/1/2001");
var_Chart->PutLevelCount(2);
var_Chart->PutPaneWidth(VARIANT_FALSE,48);
var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
0var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
long h = var_Items->AddItem("Task 1");
var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) in (0,6)");
var_Items->AddBar(h,"","1/2/2001","1/5/2001","A","holyday");
var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
var_Items->AddBar(h,"Task","1/5/2001","1/12/2001","Z",vtMissing);
var_Items->PutItemBar(h,"Z",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();
C#
exg2antt1.BeginUpdate();
exontrol.EXG2ANTTLib.Chart var_Chart = exg2antt1.Chart;
var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001");
var_Chart.LevelCount = 2;
var_Chart.set_PaneWidth(false,48);
var_Chart.AllowNonworkingBars = true;
0var_Chart.Bars.Add("Task:Split").Shortcut = "Task";
exg2antt1.Columns.Add("Tasks");
exontrol.EXG2ANTTLib.Items var_Items = exg2antt1.Items;
int h = var_Items.AddItem("Task 1");
var_Items.set_ItemNonworkingUnits(h,false,"weekday(value) in (0,6)");
var_Items.AddBar(h,"",Convert.ToDateTime("1/2/2001"),Convert.ToDateTime("1/5/2001"),"A","holyday");
var_Items.set_ItemBar(h,"A",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking,true);
var_Items.AddBar(h,"Task",Convert.ToDateTime("1/5/2001"),Convert.ToDateTime("1/12/2001"),"Z",null);
var_Items.set_ItemBar(h,"Z",exontrol.EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount,true);
exg2antt1.EndUpdate();
C# for /COM
axG2antt1.BeginUpdate();
EXG2ANTTLib.Chart var_Chart = axG2antt1.Chart;
var_Chart.FirstVisibleDate = Convert.ToDateTime("1/1/2001");
var_Chart.LevelCount = 2;
var_Chart.set_PaneWidth(false,48);
var_Chart.AllowNonworkingBars = true;
0var_Chart.Bars.Add("Task:Split").Shortcut = "Task";
axG2antt1.Columns.Add("Tasks");
EXG2ANTTLib.Items var_Items = axG2antt1.Items;
int h = var_Items.AddItem("Task 1");
var_Items.set_ItemNonworkingUnits(h,false,"weekday(value) in (0,6)");
var_Items.AddBar(h,"",Convert.ToDateTime("1/2/2001"),Convert.ToDateTime("1/5/2001"),"A","holyday");
var_Items.set_ItemBar(h,"A",EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking,true);
var_Items.AddBar(h,"Task",Convert.ToDateTime("1/5/2001"),Convert.ToDateTime("1/12/2001"),"Z",null);
var_Items.set_ItemBar(h,"Z",EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount,true);
axG2antt1.EndUpdate();
Delphi
with AxG2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '1/1/2001';
LevelCount := 2;
PaneWidth[False] := 48;
AllowNonworkingBars := True;
0Bars.Add('Task:Split').Shortcut := 'Task';
end;
Columns.Add('Tasks');
with Items do
begin
h := AddItem('Task 1');
ItemNonworkingUnits[h,TObject(False)] := 'weekday(value) in (0,6)';
AddBar(h,'','1/2/2001','1/5/2001','A','holyday');
ItemBar[h,'A',EXG2ANTTLib.ItemBarPropertyEnum.exBarTreatAsNonworking] := TObject(True);
AddBar(h,'Task','1/5/2001','1/12/2001','Z',Nil);
ItemBar[h,'Z',EXG2ANTTLib.ItemBarPropertyEnum.exBarKeepWorkingCount] := TObject(True);
end;
EndUpdate();
end
VFP
with thisform.G2antt1
.BeginUpdate
with .Chart
.FirstVisibleDate = {^2001-1-1}
.LevelCount = 2
.PaneWidth(.F.) = 48
.AllowNonworkingBars = .T.
0.Bars.Add("Task:Split").Shortcut = "Task"
endwith
.Columns.Add("Tasks")
with .Items
h = .AddItem("Task 1")
.ItemNonworkingUnits(h,.F.) = "weekday(value) in (0,6)"
.AddBar(h,"",{^2001-1-2},{^2001-1-5},"A","holyday")
.ItemBar(h,"A",38) = .T.
.AddBar(h,"Task",{^2001-1-5},{^2001-1-12},"Z")
.ItemBar(h,"Z",20) = .T.
endwith
.EndUpdate
endwith