Tag: 分组

如何通过组合重复数据显示为单个对象来显示列表对象中的所有数据?

这是我在文件中的输入商店: 50|Carbon|Mercury|M:4;C:40;A:1 90|Oxygen|Mars|M:10;C:20;A:00 90|Serium|Jupiter|M:3;C:16;A:45 85|Hydrogen|Saturn|M:33;C:00;A:3 这里50,90,90,85表示重量 , M,C,A表示该元素的每一个中的比例。 现在我想从最高到最低显示每个元素(即碳,氧等),如果有多个具有相同权重的元素,将它们分组在一个权重下 , 按行星 (火星,木星)和元素 ( 按字母顺序)按字母顺序排序碳,氧等..) 预期产量 : 1)90 Serium;Jupiter (sorted alphabetically by planet name). compounds:M:3;C:16;A:45 Oxygen;Mars compounds:M:10;C:20;A:00 2)85 Hydrogen;Saturn M:33;C:00;A:3 3)50 Carbon;Mercury M:4;C:40;A:1 这就是我的表现: public class Planets { public int Number { get; set; } //This field points to first cell of every row.output 50,90,90,85 public […]

C#Group由几个嵌套属性和列表值组成

我有这个对象结构: public class Root { public int Value1; public int Value2; public List NestedAList; } public class NestedA { public List NestedBList; public List NestedCList; } public class NestedB{ public int ValueB; public int ValueB2; } public class NestedC{ public int ValueC; public int ValueC2; } 我需要使用Root类中的所有值和它的嵌套列表对根对象进行分组。 我已经玩了一段时间,无法弄清楚如何/或者我是否可以在一个单独的组声明中做到这一点,或者最好的方法来实现这一点。 编辑:我需要按根属性,嵌套A属性,嵌套B属性和嵌套C属性分组的项目。 所以它是有道理的:我的真实对象有更多的属性,只显示我需要分组的属性,并可以用作起点。 提前致谢。 如果我们有这个元素 Root Value1 = […]

Xamarin表单ListView分组绑定问题

我一直试图玩Xamarin Forms一段时间,然后遇到了Listview Grouping。 我没有完成显示空白列表。 请帮我找一下我错的地方? 提前致谢 但是,我的类域看起来像: public class LineItemTaxDto { public int InvoiceLineItemId { get; set; } public int InvoiceId { get; set; } public int TaxId { get; set; } public decimal TaxRate { get; set; } public decimal TaxAmount { get; set; } public string TaxName { get; set; } } 我的视图模型属性看起来像 […]

如何创建大小均匀的组

我有一张桌子,按日期提供汽车信息。 car_id date 1 20160101 2 20160102 1 20160103 2 20160104 1 20160105 1 20160106 1 20160107 1 20160108 1 20160109 1 20160110 如果汽车有<= 5条记录,则只有一组。 CASE car_id = 2 如果汽车有<= 10条记录,那么将有两个均匀分组。 CASE car_id = 1按日期CASE car_id = 1 20160101 – 20160106第GROUP 1 20160107 – 20160110 GROUP 2 如果汽车有’> 10’那么将有三个均匀分布的组。 渴望输出。 car_id date group_id 1 20160101 […]

WPF DataGrid GroupStyle

我在WPF中有两个组的以下DataGrid 。 第一组是bool标志,表示一个人是否处于活动/非活动状态。 第二组(或子组)是每个人的ID。 每个人都可以拥有多个城市,因此可以对ID进行分组,因为每个人在DataGrid都会显示多个。 这是XAML: 一切正常 ! 但是,我不喜欢每个子组的蓝色行。 我想要实现的是下图中的分组样式: 对于每个子组,我希望编辑按钮和ID每人只出现一次。 我该怎么办? 是否可以仅在XAML中使用,还是应该删除代码隐藏中的reduntant内容? 编辑 这里有一些测试数据: public class Person { public Person(bool active, int id, string name, string city) { Active = active; ID = id; Name = name; City = city; } public bool Active { get; set; } public int ID { get; set; […]

按值“分组”字典

我有一个字典: Dictionary 。 我想得到一个新的字典,其中原始字典的键表示为List 。 这就是我的意思: var prices = new Dictionary(); prices包含以下数据: 1 100 2 200 3 100 4 300 我想得到IList<Dictionary<int,List>> : int List 100 1,3 200 2 300 4 我怎样才能做到这一点?

WPF:将Collection与Collection绑定到带有组的ListBox

有时候WPF对我来说太复杂了。 我的“Window1”collections了一组“群组”。 “Group”是一个包含“Person”集合的类。 最后,这应该是联系人列表。 我只想在ListBox中显示其人员组,其中列表组的组名称等于我的类“Groups”的Name属性。 我试过将CollectionViewSource绑定到“Collection”。 这些组显示正确,但列表中的项目等于组名称。 因此每个组只有一个项目:组名。 这里的许多示例显示仅具有一个集合的项目分组。 我能做的是将组名设置为“人物”的属性。 但后来我无法计算(这是非常必要的): – 每组中有多少人 – 有多少人拥有“状态”“在线”。 我在“Group”类中使用linq来计算它。 感谢您提供帮助我入门的任何建议。

如何在字典列表上动态构建分组

我试图在IEnumerable上执行groupby。 问题是我在编译时不知道我想要分组的字段。 我在堆栈上发现了另一个post ,解释了当类已知且具有属性时如何执行此操作,但在我的情况下,我正在处理字典,并且键也仅在运行时已知。 我的代码会像这样(我知道这不会编译……): private object GetValuesGroupedBy(List groupbyNames, List summableNames) { // get the list of items in the grid var listOfDicos = grid.AllItems; return listOfDicos .GroupBy(x => new { x[groupbyNames[0]], x[groupbyNames[1]], x[groupbyNames[2]] }) .Select(group => new { group.Key, group.Sum(x => x[summableNames[0]]), group.Sum(x => x[summableNames[1]]) }); } 有任何想法吗? 我已经开始研究动态LINQ但是卡住了(因为我没有使用属性而是键/值集合)… 谢谢大家!! 肖恩

在LINQ中按月和年分组多个日期属性

我需要在C# LINQ按月和按年分组多个属性 这是我的代码: public class Class1 { public Nullable dt1 { get; set; } public Nullable dt2 { get; set; } } Class1 obj1 = new Class1 { dt1 = new DateTime(2012, 11, 12), dt2 = new DateTime(2012, 12, 12) }; Class1 obj2 = new Class1 { dt1 = new DateTime(2012, 11, 12), dt2 = […]

LINQ:基于子列表中的属性进行分组

我试图使用LINQ基于元数据创建文档的分组列表,元数据是文档上的列表。 以下是我的对象结构的外观: List –> List –> Metadata has a name and a value property. 我想基于具有名称的元数据标签对文档进行分组:ID并将它们分组,其中ID属性的值相同。 我试过这样的: var x = response.Document .GroupBy(d => d.Metadata.Where(dc => dc.Name == DocProperty.ID) .Select(dc => dc.Value)); 这会生成单个文档的列表,但不会对ID进行分组。 还考虑选择不同的ID列表,然后遍历文档列表并查找与ID匹配的文档。 这似乎是一个很大的开销,因为对于不同列表中的每个ID,我必须每次进入元数据列表并找到文档并且必须对找到的多个项目进行额外检查,获取我需要的属性等。 任何人都知道如何使这个东西工作?