сомневаться в калитку ... Я использую DataView и выпускается следующее сообщение об ошибке:Ошибка при перебрать с компонентом DataView, который динамически виден
"... Expected close tag is' <td wicket: id =" lblRowspan "> 'Possible attempt to embed component (s)' <input type =" text "placeholder =" Item "wicket: id =" txtNomeBem "class = "form-control" /> 'in the body of this component Which discards its body ... "
ситуация выглядит следующим образом в этом DataView я использую ROWSPAN для слияния некоторых ячеек, 100% работает хорошо, если в линиях, которые я смешиваю, нет типа компонента, например, если строки, которые я использую rowSpan, пишут предложение. .. но когда я вставляю компонент TextField в ячейку, нет.
В приложении, которое я разрабатываю, нужно показать TextField, чтобы человек вводил некоторую информацию, только он всегда выдает исключение, указанное выше.
вот мой код: (HTML)
<tr wicket:id="dataGruposSelecionados">
<td wicket:id="lblRowspan">
<input type="text" placeholder="Item" wicket:id="txtNomeBem"
class="form-control" />
</td>
<tr/>
Вот моя ява
dataViewGruposSelecionados = new DataView<ItemBemDto>("dataGruposSelecionados", new Provider(listaDeGrupos)) {
@Override
protected void populateItem(Item<ItemBemDto> item) {
Label lblRowspan = new Label("lblRowspan",item.getModelObject().getNomeItemGrupo());
.
.
.
int tamanho = listaBens.size();
if(primeiroLoop)
{
lblRowspan.add(new AttributeAppender("rowspan", new Model<Integer>(tamanho), " "));
primeiroLoop = false;
}else{
lblRowspan.setVisible(false);
}
.
.
.
.
item.add(lblRowspan);
item.add(newTextFieldNomeItem(item));
}
}
как я уже сказал, он работает на 100%, если вместо TextField я оставить это поле пустым или введите что-то в HTML, слияние работает ... но когда я вставляю какой-либо компонент в «td», вызывается исключение ...
Я мог бы быть неправильно; но ваш код указывает, что lblRowSpan является родительским, а текстовое поле txtNomeBem является дочерним. Это как у вас есть текстовое поле, добавленное в ваш метод newTextFieldNomeItem (item)? Просто любопытно. – Mihir
Как я уже сказал, первый столбец этого DataView будет объединен в зависимости от правила, которое для этого примера я отбросил, он работает, предположим, что у меня есть 4 строки в Dataview и слияние с ним, эти четыре строки будут включать текстовое поле. .. как я сказал, что слияние работает отлично, исключение бросается, когда я пытаюсь включить textField в эту ячейку, которая объединила ... . LblRowspan - это Отец - это ярлык, который получит инструкцию «rospan» (и это сработало) ... –
. «txtNomeBem» - это «newTextFieldNomeItem (item)», это компонент, который должен быть показан в столбце, который сделал слияние простым текстовым полем, после текстового поля кода ниже: . . . частный TextField newTextFieldNomeItem (Пункт пункт) { TextField поле = новый TextField ("txtNomeBem" новый PropertyModel (item.getModelObject(), "nomeItemGrupo")); field.add (StringValidator.maximumLength (200)); поле возврата; } –