
FieldSettingsのMergedCellEvaluatorプロパティにIMergedCellEvaluatorインターフェースを実装したクラスのインスタンスを指定してください。
IMergedCellEvaluatorインターフェースを実装したクラスでは、ShouldCellsBeMergedで結合するロジックをコーディングし、GetMergedCellValueで結合後に表示するテキスト文字列を返してください。
<Window.Resources>
<local:MyEvaluator x:Key="myEvaluator"/>
</Window.Resources>
<Grid>
<igDP:XamDataGrid DataSource="{Binding People}">
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:Field Name="ID" Label="ID"/>
<igDP:Field Name="Name" Label="Name">
<igDP:Field.Settings>
<igDP:FieldSettings MergedCellMode="Always" MergedCellEvaluator="{StaticResource myEvaluator}"/>
</igDP:Field.Settings>
</igDP:Field>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
</Grid>
public class MyEvaluator : IMergedCellEvaluator
{
public object GetMergedCellValue(DataRecord record, Field field)
{
return (record.DataItem as Person).Name;
}
public bool ShouldCellsBeMerged(DataRecord record, DataRecord adjacentRecord, Field field)
{
return (record.DataItem as Person).ID == (adjacentRecord.DataItem as Person).ID;
}
}