How to bind List object with no duplicate property

Khoa

I have an object:

public class RoomViewModel
{
 public int ID { get; set; }

 public string Name{ get; set; }

 [JsonProperty(PropertyName = "data-space")]
 public string RoomNumber{ get; set; }

 [JsonProperty(PropertyName = "data-category")]
 public int DepartmentType { get; set; }

 [JsonProperty(PropertyName = "data-level")]
 public int Floor{ get; set; }
}

But when I'm binding it in View, with a foreach loop:

@model List<MyProject.ViewModels.RoomViewModel>
<ul class="list grouped-by-category">
@if (Model.Any())
{
    foreach (var room in Model)
    {
        <li class="list__item" data-level="@room.Floor" data-category="@room.DepartmentType" data-space="@room.RoomNumber">@room.Name</li>

    }
}
</ul>

It returns a List of Rooms with it's department & floor, but it's duplicate when I have 2 floors: picture

<ul class="list grouped-by-category">
<li class="list__item" data-level="1" data-category="1" data-space="1.01"> Room 1</li> 
<li class="list__item" data-level="1" data-category="1" data-space="1.02"> Room 2</li>
<li class="list__item" data-level="1" data-category="2" data-space="2.03"> Room 3</li>
<li class="list__item" data-level="1" data-category="2" data-space="1.08"> Room 8</li>

<li class="list__item" data-level="2" data-category="1" data-space="1.04"> Room 4</li>
<li class="list__item" data-level="2" data-category="1" data-space="2.05"> Room 5</li>
<li class="list__item" data-level="2" data-category="2" data-space="1.06"> Room 6</li>
<li class="list__item" data-level="2" data-category="2" data-space="2.07"> Room 7</li>
</ul> 

But all I need is:

<ul class="list grouped-by-category">
<li class="list__item" data-level="1" data-category="1" data-space="1.01"> Room 1</li> 
<li class="list__item" data-level="1" data-category="1" data-space="1.02"> Room 2</li>
<li class="list__item" data-level="2" data-category="1" data-space="1.04"> Room 4</li>
<li class="list__item" data-level="2" data-category="1" data-space="2.06"> Room 6</li>

<li class="list__item" data-level="1" data-category="2" data-space="2.03"> Room 3</li>
<li class="list__item" data-level="1" data-category="2" data-space="1.05"> Room 5</li>
<li class="list__item" data-level="2" data-category="2" data-space="1.07"> Room 7</li>
<li class="list__item" data-level="2" data-category="2" data-space="2.08"> Room 8</li>
</ul> 

With the same DepartmentType & different Floor. I've searched how to grouped list of DepartmentType but don't know how to use this in a foreach loop. Please help me.This picture shows where i'm stuck at. I want "Phòng Khám" and "Quầy thủ tục" to have 4 rooms(separately), not duplicates.

Kirill Bestemyanov

You can order your lines by department type:

foreach (var room in Model.OrderBy(c=>c.DepartmentType))
    {
        <li class="list__item" data-level="@room.Floor" data-category="@room.DepartmentType" data-space="@room.RoomNumber">@room.Name</li>

    }

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How to bind a list which is a property of an object to DataGridView?

From Dev

How to bind control to object property?

From Dev

How to bind control to object property?

From Dev

Duplicate checking of javascript object list with in a certain property

From Dev

How to bind an object list with thymeleaf?

From Dev

How to bind property on parent object with knockoutjs?

From Dev

How to bind template to object in array by property value?

From Dev

How to parse a json object property to bind it to a control

From Dev

How to bind to specific property in list box

From Dev

How to bind to specific property in list box

From Dev

How to bind a property to a singleton object property from QML

From Dev

List object ID value bind with dialog modal property

From Dev

Bind to property of object

From Dev

How to bind a list of custom object as source to listbox?

From Dev

How to data-bind a label text to an underlying object's property?

From Dev

How do I bind a CSS class to an observable object or property in Polymer?

From Dev

Ember.js - how to bind an object value with property of a controller

From Dev

How to bind object property to textbox in angular2

From Dev

How to deserialize JSON with duplicate property names in the same object

From Dev

How to get a list of non duplicate values from one property

From Dev

How to generate list object into multiple list base on a object property?

From Java

How to Sort a List<T> by a property in the object

From Dev

How to filter an object list based on an unknown property

From Dev

How to get/find an object by property value in a list

From Dev

How to set a property of a generic object in a list?

From Dev

How to Add to an unknown List property of an object at runtime?

From Dev

How to filter an object list based on an unknown property

From Dev

How to sort a list of java object by some property

From Dev

Bind custom object property to BooleanBinding

Related Related

  1. 1

    How to bind a list which is a property of an object to DataGridView?

  2. 2

    How to bind control to object property?

  3. 3

    How to bind control to object property?

  4. 4

    Duplicate checking of javascript object list with in a certain property

  5. 5

    How to bind an object list with thymeleaf?

  6. 6

    How to bind property on parent object with knockoutjs?

  7. 7

    How to bind template to object in array by property value?

  8. 8

    How to parse a json object property to bind it to a control

  9. 9

    How to bind to specific property in list box

  10. 10

    How to bind to specific property in list box

  11. 11

    How to bind a property to a singleton object property from QML

  12. 12

    List object ID value bind with dialog modal property

  13. 13

    Bind to property of object

  14. 14

    How to bind a list of custom object as source to listbox?

  15. 15

    How to data-bind a label text to an underlying object's property?

  16. 16

    How do I bind a CSS class to an observable object or property in Polymer?

  17. 17

    Ember.js - how to bind an object value with property of a controller

  18. 18

    How to bind object property to textbox in angular2

  19. 19

    How to deserialize JSON with duplicate property names in the same object

  20. 20

    How to get a list of non duplicate values from one property

  21. 21

    How to generate list object into multiple list base on a object property?

  22. 22

    How to Sort a List<T> by a property in the object

  23. 23

    How to filter an object list based on an unknown property

  24. 24

    How to get/find an object by property value in a list

  25. 25

    How to set a property of a generic object in a list?

  26. 26

    How to Add to an unknown List property of an object at runtime?

  27. 27

    How to filter an object list based on an unknown property

  28. 28

    How to sort a list of java object by some property

  29. 29

    Bind custom object property to BooleanBinding

HotTag

Archive