Infragistics|Ultimate UI for WPF|XamDataGrid 使用其他欄位中的資訊合併儲存格

infragistics log



我正在使用“名稱”列合併單元格,但我會根據它們是否具有相同的 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;
    }
}



延伸閱讀
aa71435723的大頭照
Winston

Eggplant DAI 自動化測試專家。

留言