コード例では、列セットを変更する方法を示します。プロジェクト テーブルを作成して希望のプロジェクト列を設定します。これでプロジェクト テーブルが Project ビューで指定され、 xamGantt によって使用されます。
コード例には、デフォルトの稼働時間がある日と比較した時に変更された稼働時間のある日を強調表示するに使用できるタスクのコレクションが含まれています。
コード例を完了するには xamGantt プロジェクトが必要です。サンプルの xamGantt プロジェクトを作成するためには、 xamGantt をページに追加の指示を復習してください。
次に、サンプル プロジェクトのビュー モデルを変更する必要があります。以下のクラスがなければなりません。
ProjectTableCollection
- このクラスのコードを確認するには、以下の ProjectTableCollection コード セクションを参照してください。
ProjectTableCollection
- このクラスのコードを確認するには、以下の ProjectTableCollection コード セクションを参照してください。
サンプル プロジェクトのビュー モデルを変更した後で、このトピックに表示されるマークアップでマークアップを置き換える必要があります。
以下は完全なサンプル プロジェクトのプレビューです。ID 列のすぐ後に制約タイプ列と制約日列が表示されることが確認できます。これはデフォルトと異なる配置です。
C# の場合:
public class ProjectTableCollection : ObservableCollection<ProjectTable>
{
}
Visual Basic の場合:
Public Class ProjectTableCollection
Inherits ObservableCollection(Of ProjectTable)
End Class
C# の場合:
public class ProjectViewCollection : ObservableCollection<ProjectView>
{
}
Visual Basic の場合:
Public Class ProjectViewCollection
Inherits ObservableCollection(Of ProjectView)
End Class
XAML の場合:
<Grid>
<Grid.Resources>
<local:ProjectViewModel x:Key="viewmodel" />
</Grid.Resources>
<Grid.DataContext>
<Binding Source="{StaticResource viewmodel}" />
</Grid.DataContext>
<ig:XamGantt x:Name="gantt" Project="{Binding Project}">
<ig:XamGantt.ViewProvider>
<ig:ListBackedProjectViewProvider>
<ig:ListBackedProjectViewProvider.ViewItemsSource>
<local:ProjectViewCollection>
<ig:ProjectView Key="GanttChart" TableKey="Basic" />
</local:ProjectViewCollection>
</ig:ListBackedProjectViewProvider.ViewItemsSource>
<ig:ListBackedProjectViewProvider.TableItemsSource>
<local:ProjectTableCollection>
<ig:ProjectTable Key="Basic">
<ig:ProjectTable.Columns>
<ig:ProjectColumn Key="Id" Width="43" />
<ig:ProjectColumn Key="ConstraintType" Width="100" />
<ig:ProjectColumn Key="ConstraintDate" Width="100" />
<ig:ProjectColumn Key="IsManual" Width="58" />
<ig:ProjectColumn Key="TaskName" Width="174" />
<ig:ProjectColumn Key="ManualDuration" Width="80" />
<ig:ProjectColumn Key="ManualStart" Width="94" />
<ig:ProjectColumn Key="ManualFinish" Width="94" />
<ig:ProjectColumn Key="PredecessorsIdText" Width="102" />
<ig:ProjectColumn Key="ResourcesText" Width="124" />
</ig:ProjectTable.Columns>
</ig:ProjectTable>
</local:ProjectTableCollection>
</ig:ListBackedProjectViewProvider.TableItemsSource>
</ig:ListBackedProjectViewProvider>
</ig:XamGantt.ViewProvider>
</ig:XamGantt>
</Grid>
C# の場合:
…
public class ProjectTableCollection : ObservableCollection<ProjectTable>
{
}
public class ProjectViewCollection : ObservableCollection<ProjectView>
{
}
…
Visual Basic の場合:
…
Public Class ProjectTableCollection
Inherits ObservableCollection(Of ProjectTable)
End Class
Public Class ProjectViewCollection
Inherits ObservableCollection(Of ProjectView)
End Class
…
このトピックについては、以下のトピックもあわせてご参照ください。