文章分類/Infragistics
我正在使用“名稱”列合併單元格,但我會根據它們是否具有相同的 ID 來決定是否合併。
請在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; } }