繁体   English   中英

在WPF中按负载进行Infragistics XamDataGrid分组

[英]Infragistics XamDataGrid Group By on load in WPF

如何从Infragistics中为XamDataGrid的给定属性设置“加载时分组依据”,并通过禁用折叠组的功能使此视图不折叠? 如果可能的话,我也会知道如何隐藏“分组依据”小按钮。

我的环境是WPF和C#。

尝试这个,

在Xaml中

<igDP:XamDataGrid x:Name="xdgSample" DataSource="{Binding SampleCollection}" InitializeRecord="xdgSample_InitializeRecord">
                                <igDP:XamDataGrid.FieldLayouts>
                                    <igDP:FieldLayout>     
                                        <igDP:Field Name="field1" Label="Field1"/>
                                        <igDP:Field Name="field2" Label="Field2"/>
                                        <igDP:Field Name="field3" Label="Field3"/>
                                        <igDP:Field Name="field4" Label="Field4"/>
                                        <igDP:Field Name="field5" Label="Field5"/>                                   
                                    </igDP:FieldLayout>
                                </igDP:XamDataGrid.FieldLayouts>
                                <igDP:XamDataGrid.FieldLayoutSettings>
                                    <igDP:FieldLayoutSettings AllowFieldMoving="No" 
                                                      AllowDelete="False"
                                                      AutoGenerateFields="False" 
                                                      AutoFitMode="ExtendLastField"
                                                      SelectionTypeRecord="Single" 
                                                      FilterUIType="LabelIcons"
                            GroupByExpansionIndicatorVisibility="Collapsed">
                                    </igDP:FieldLayoutSettings>
                                </igDP:XamDataGrid.FieldLayoutSettings>
                            </igDP:XamDataGrid>

在代码背后,

Private ObservableCollection<SampleBO> sampleCollection;

Public ObservableCollection<SampleBO> SampleCollection
{
    get
    {
        return this.sampleCollection;
    }   
}

您可以将下面的代码放在“窗口已加载”事件或“构造函数”中,以加载和分组数据,

this.sampleCollection = your collection/List;
this.OnPropertyChange("SampleCollection");

this.xdgSample.FieldLayouts[0].SortedFields.Add(new FieldSortDescription
                        {
                            IsGroupBy = true,
                            Field = this.xamInputList.FieldLayouts[0].Fields["field2"],
                            Direction = System.ComponentModel.ListSortDirection.Ascending
                        });

                        this.xdgSample.FieldLayoutSettings.HeaderPlacement = HeaderPlacement.OnTopOnly;
                        this.xdgSample.FieldLayoutSettings.HeaderPlacementInGroupBy = HeaderPlacementInGroupBy.WithDataRecords;

同样,对于扩展组,请使用以下事件,最初用于扩展组。

private void xdgSample_InitializeRecord(object sender, Infragistics.Windows.DataPresenter.Events.InitializeRecordEventArgs e)    
{    
if (e.Record.NestingDepth == 0)    
{    
    e.Record.IsExpanded = true;    
}    
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM