Реализация нечетной таблицы — может ли Atata поддерживать эту странность?

#atata

Вопрос:

У меня есть таблица таким образом:

 <tbody>
  <tr class="bg-light">
    <th scope="col" width="300">Custom Field Name</th>
    <th scope="col">Data</th>
  </tr>

  <tr class="test-custom-field-row">
    <td>Character 1900</td>
    <td>Thing 1</td>
  </tr> 

Обратите внимание на заголовок внутри объекта первой строки. Итак, я не могу сделать ничего крутого, как:

Настраиваемые поля воспроизведения.Строки[x => x.Name == «Символ1900»].Данные.Должен…

потому что мы задыхаемся в первом ряду, потому что в нем нет объектов <td>. Существует ли какая-либо магия атрибутов Евгения, которая указывает определению таблицы игнорировать первую строку? Вот моя реализация таблицы:

     public Table<Field, _> CustomDisplayFields { get; private set; }

    public class Field : TableRow<_>
    {
        [FindByColumnIndex(0)]
        public Text<_> Name { get; private set; }

        [FindByColumnIndex(1)]
        public Text<_> Data { get; private set; }
    }
 

Огромное спасибо.

Ответ №1:

Вы можете указать определение элемента управления строкой с помощью XPath, который пропускает первую строку. Попробуйте добавить один из приведенных ниже атрибутов в Field класс строк таблицы.

 [ControlDefinition("tr[position() > 1]", ComponentTypeName = "row")]
 

Или

 [ControlDefinition("tr[td]", ComponentTypeName = "row")]
 

Первый просто пропускает первый ряд. Второй выбирает только строки, которые имеют td в качестве дочерних.

Комментарии:

1. Евгения Атрибутивная магия делает это снова. Огромное спасибо.