#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. Евгения Атрибутивная магия делает это снова. Огромное спасибо.