【发布时间】:2021-10-04 10:19:31
【问题描述】:
我正在开发一个 Xamarin.Forms 项目,但我处于某种死胡同。我的问题是我想在列表视图中显示我从服务器拉取的用户事务,但是我需要四个不同的拉取请求来获取所有数据,这意味着我有四个不同的对象列表,我按事务编号分组为你可以在这个截图中看到:
这是我用公共键对反序列化的 json 列表进行分组的代码:
var t = JsonConvert.DeserializeObject<List<trans_mod>>(transactions);
var l = JsonConvert.DeserializeObject<List<loc_mod>>(loc);
var d = JsonConvert.DeserializeObject<List<disc_mod>>(disc);
var it = JsonConvert.DeserializeObject<List<item_mod>>(itm);
var q = it.AsQueryable().GroupBy(g => g.trans).ToList();
var q2= d.AsQueryable().GroupBy(g => g.trans).ToList();
var q3 = l.AsQueryable().GroupBy(g => g.trans).ToList();
var q4 = t.AsQueryable().GroupBy(g => g.position).ToList();
每个列表的对象模型
public class loc_mod
{
[DataMember]
public string location { get; set; }
[JsonProperty(PropertyName = "@modify_stamp")]
public string stamp { get; set; }
[JsonProperty(PropertyName = "$trans")]
public string trans { get; set; }
}
public class disc_mod
{
[DataMember]
public string discount { get; set; }
[JsonProperty(PropertyName = "@modify_stamp")]
public string stamp { get; set; }
[JsonProperty(PropertyName = "$trans")]
public string trans { get; set; }
}
public class item_mod
{
[JsonProperty(PropertyName = "item.price")]
public string price { get; set; }
[JsonProperty(PropertyName = "item.name")]
public string name { get; set; }
[JsonProperty(PropertyName = "@modify_stamp")]
public string stamp { get; set; }
[JsonProperty(PropertyName = "$trans")]
public string trans { get; set; }
}
public class trans_mod
{
[DataMember]
public string refer { get; set; }
[DataMember]
public string date { get; set; }
[DataMember]
public string time { get; set; }
[DataMember]
public int points { get; set; }
[DataMember]
public string _total { get; set; }
[JsonProperty(PropertyName = "$$position")]
public string position { get; set; }
[JsonProperty(PropertyName = "@modify_stamp")]
public string stamp { get; set; }
[JsonProperty(PropertyName = "$trans")]
public string trans { get; set; }
}
public class itms
{
public string price { get; set; }
public string name { get; set; }
public DateTime stamp { get; set; }
[JsonProperty(PropertyName = "$trans")]
public string trans { get; set; }
}
我想做的是遍历所有四个列表并将每个列表中的数据添加到列表视图中,但我想不出一种方法可以做到这一点。
Listview Add() 代码示例:
Transactions.Add(new Transaction
{
Details = "Date: " + ti[i].date + " | Time: " + ti[i].time + " |
Reference: " + ti[i].refer,
Isvisible = false, Items= ti[i].item, Total = ti[i].total, Discount
= ti[i].discount
});
对不起,如果这有点令人困惑,这对我来说是令人困惑的,因为我是一个相对初学者。欢迎任何帮助!
【问题讨论】:
-
您确实需要创建一个整合的 ViewModel 将所有这些数据联系在一起
标签: c# json object listview xamarin.forms