Показывать пользователи, у которых нет ведомства

Я хочу показать имена людей, у которых нет одного departamento

Данные:

+----+---------+----------------+    +----+--------------------+
| id | Nombre  | idDepartamento |    | id | NombreDepartamento |
+----+---------+----------------+    +----+--------------------+
| 44 | Daniel  |        1       |    | 1  |    Desarrollo      |
+----+---------+----------------+    +----+--------------------+
| 45 | Manuel  |        0       |    | 2  |   Contabilidad     |
+----+---------+----------------+    +----+--------------------+
| 47 |  Juan   |        0       |
+----+---------+----------------+
| 49 | Alfonso |        0       |
+----+---------+----------------+

Я хочу показать их в одном select используя в

У меня есть следующий код:

<select class="form-control" name="UsuarioSelect" multiple>
  @{foreach (var departamento in Model.Departamentos)
  {
    <optgroup label="@departamento.Departamento"></optgroup>
    foreach (var empleado in Model.Empleados)
    {
      if (empleado.IdDepartamento == departamento.id)
      {
        <option value="@empleado.id">@empleado.Nombre</option>
      }
    }
  }}
</select>

Но у меня нет идеи как показывать пользователи, у которых нет ведомства.

Что он нуждался в том, чтобы добавить в моем коде для того, чтобы они появились?

То, чего я хочу добиться, что-то как это:

$('select').select2({
  width: '50%'
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<select class="Select2" multiple>
  <optgroup label='Desarrollo'></optgroup>
  <option value='44'>Daniel</option>
  <optgroup label='Contabilidad'></optgroup>
  <optgroup label='Sin Departaento'></optgroup>
  <option value='45'>Juan</option>
  <option value='47'>Manuel</option>
  <option value='49'>Alfonso</option>
</select>
2
задан 16.01.2017, 17:11
0 ответов

Попробуй следующее используя Linq в тебе в твоем razor:

<select class="form-control" name="UsuarioSelect" multiple>
  <optgroup label="Sin Departamento"></optgroup>
  @foreach (var empleado in Model.Empleados.Where(i=>i.IdDepartamento == 0))
  {    
    <option value="@empleado.id">@empleado.Nombre</option>
  }

  @{foreach (var departamento in Model.Departamentos)
  {
    <optgroup label="@departamento.Departamento"></optgroup>
    foreach (var empleado in Model.Empleados.Where(i=>i.IdDepartamento == departamento.id))
    {
       <option value="@empleado.id">@empleado.Nombre</option>         
    }
  }
</select>
1
ответ дан 03.12.2019, 17:41
  • 1
    Я не знаю Linq podrí схвати объяснять мне, что он делает точно Model.Empleados.Where(i=>i.IdDepartamento == departamento.id), если бы у меня был один null в idDepartamento как quedarí в Linq –  16.01.2017, 17:51
  • 2
    Списка персонала, который у тебя был бы внутри модели, Линк позволяет тебе просачиваться (Как решение SQL) ú nicamente персонал, который в Вашей колонне IdDepartamento обладает id ведомства, которое ты в настоящее время пробегаешь с foreach. –  16.01.2017, 18:00
  • 3
    что cambiarí если помимо санкционирования 0 я хочу tambié n санкционировать, что это было главный null делать этим такие (idDepartamento == 0 || idDepartamento == null) как harí в в Linq –  16.01.2017, 18:48
  • 4
    Если бы, он был более или менее, как ты это выдвигаешь: Model. Персонал. Where (i => i. IdDepartamento == 0 || i. IdDepartamento == null). –  16.01.2017, 18:50

Теги

Похожие вопросы