Xamarin 表单:分组 ObservableCollection

Posted

技术标签:

【中文标题】Xamarin 表单:分组 ObservableCollection【英文标题】:Xamarin Forms: Grouping ObservableCollection 【发布时间】:2016-03-09 12:11:34 【问题描述】:

我有一个绑定到ObservableCollection<Request>ListView。这是Request类:

public class Request

    public int Id  get; set; 
    public string RequestName  get; set; 
    public string Provider  get; set; 
    public int Done  get; set; 

Done 中只有 2 个可能的值:01Requests 将 Done 设置为 0 到一个组,其他到另一个组。怎么可能做到这一点?

【问题讨论】:

也许这个链接会对你有所帮助:motzcod.es/post/94643411707/… 或 forums.xamarin.com/discussion/17976/… 【参考方案1】:

以下是您将其分组的方式。您可能需要进一步增强它以使其更加用户友好。

分组属性

private ObservableCollection<Grouping<String, Request>> _groupedList = null;
public ObservableCollection<Grouping<String, Request>> GroupedList 
    get 
        return _groupedList;
    
    set 
        _groupedList = value;
        RaisePropertyChanged(() => GroupedList);
    

创建列表

var list = new List<Request>();

var grouped = from Model in list
                         group Model by Model.Done into Group
                         select new Grouping<string, Request>(Group.Key, Group);

GroupedList = new ObservableCollection<Grouping<string, TModel>>(grouped);

ListView Xaml

<ListView IsGroupingEnabled="true" HasUnevenRows="true">
    <ListView.GroupHeaderTemplate>
        <DataTemplate>
            <ViewCell>                
                <Label Text="Binding Key" VerticalOptions="Center"/>
            </ViewCell>
        </DataTemplate>
    </ListView.GroupHeaderTemplate>
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <ViewCell.View>
                <ContentView Padding="10">
                    <Label Text=Binding RequestName" />
                </ContentView>
                </ViewCell.View>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

【讨论】:

以上是关于Xamarin 表单:分组 ObservableCollection的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin:用于 Android 和 Windows UWP 的 Xamarin 表单中的分组列表的垂直字母索引(跳转列表)

Xamarin表单 - 如何使用标题生成iOS ListView本机分组样式?

Xamarin - 分组列表视图

Xamarin Listview 分组

Xamarin android 分组通知未被可折叠摘要取代

Xamarin使用ListView开启分组视图Cell数据展示bug处理