【问题标题】:Sub list is not binding to ListView grouping in xamarin forms子列表未绑定到 xamarin 表单中的 ListView 分组
【发布时间】:2021-10-26 11:36:22
【问题描述】:

我正在 xamarin 表单中实现列表视图分组,以在列表视图中显示列表。我需要在标题下显示一个标题和一个列表。

型号:

public class ActivityHistoryDetails
    {
        public string EventDate { get; set; }
        public List<History> History { get; set; }
    }
   

我正在将“ActivityHistoryDe​​tails”类型的列表绑定到列表视图。

现在我可以只显示带有此代码的标题。子列表不具有约束力。

【问题讨论】:

    标签: listview xamarin.forms data-binding binding listviewgroup


    【解决方案1】:

    有需要的可以参考这个link

    根据你的代码,我写了一个可运行的,最小化的例子供你参考,你可以参考它来修改你的代码。

    这是History 类:

    public class History
    {
        public string ZoneId { get; set; }
        public string ZoneComment { get; set; }
        public string EventRptId { get; set; }
        public string EventDate { get; set; }
        public string EventTime { get; set; }
        public string EventDescription { get; set; }
        public int StoreId { get; set; }
    
        public History(string zoneId, string zoneComment, string eventRptId, string eventDate, string eventTime, string eventDescription, int storeId)
        {
            ZoneId = zoneId;
            ZoneComment = zoneComment;
            EventRptId = eventRptId;
            EventDate = eventDate;
            EventTime = eventTime;
            EventDescription = eventDescription;
            StoreId = storeId;
        }
    }
    

    这是ActivityHistoryDetails 类:

    public class ActivityHistoryDetails : List<History>
    {
        public string EventDate { get; set; }
        public static IList<ActivityHistoryDetails> All { private set; get; }
    
        public ActivityHistoryDetails(string EventDate)
        {
            this.EventDate = EventDate;
        }
    
        static ActivityHistoryDetails() 
        {
            List<ActivityHistoryDetails> Groups = new List<ActivityHistoryDetails>
            {
                new ActivityHistoryDetails ("aaa")
                {
                    new History("test","test","test","test","test","test",1),
                    new History("test1","test1","test1","test1","test1","test1",2)
                },
                new ActivityHistoryDetails ("bbb")
                {
                    new History("test2","test2","test2","test2","test2","test2",3),
                    new History("test3","test3","test3","test3","test3","test3",4)
                }
            };
            All = Groups;
        }
    }
    

    使用GroupedView.ItemsSource = ActivityHistoryDetails.All; 进行数据绑定。

    xaml 代码与您提供的代码相同。

    截图如下:

    【讨论】:

    • 只要是列表,不一定是静态的。
    • 根据你的代码,你的 res 是 List 吗?
    • 那我们需要绑定List,然后就可以直接绑定xaml了。
    • 你可以看看我的代码。我根据您的代码对其进行了调整,即使 xaml 也没有对其进行修改。截图中的“aaa”和“bbb”是分组,对应“EventDate”
    • 根据我的代码,Groups是多个ActivityHistoryDe​​tails数据,ActivityHistoryDe​​tails中的EventDate是动态数组的头部。您甚至可以完全复制我的代码,只需正确添加 Groups 的值即可绑定动态数组。
    猜你喜欢
    • 1970-01-01
    • 2016-10-10
    • 2021-10-20
    • 2020-11-09
    • 2017-10-11
    • 2023-03-12
    • 2016-09-08
    • 1970-01-01
    • 2018-07-25
    相关资源
    最近更新 更多