Поскольку я не могу понять, как решить мою проблему, представленную здесь Сейчас я думаю о временном решении.
У меня есть виджет smartgwt DateItem
:
DateItem date = new DateItem("Adate");
date.setWidth(120);
date.setWrapTitle(false);
date.setAttribute("useTextField", true);
date.setAttribute("inputFormat", "yyyy/MM/dd");
date.setAttribute("displayFormat", "toJapanShortDate");
Поскольку атрибуту useTextField
присвоено значение true
, мы видим поле ввода текста. Как я могу сделать это поле ввода текста нередактируемым. На самом деле я хочу иметь только возможность выбрать дату из календаря, а не менять ее вручную.
Решено — проблема, описанная выше, — благодаря пользователю @RAS.
TextItem textItem = new TextItem();
textItem.setAttribute("readOnly", true);
date.setAttribute("textFieldProperties", textItem);
Но теперь у меня есть другая проблема (решенная - см. здесь): средство выбора даты не будет отображать дату в текстовом поле, а будет отображать сегодняшнюю дату. Например, введите 30/05/2009 в текстовое поле, перейдите в другое поле, затем вернитесь, щелкнув на поле выбора даты, и выбранным днем будет сегодняшняя дата, а не 30 июня 2009 года. В чем причина этого? Можно ли это решить?
Кроме того, допустим, я предоставляю пользователю возможность вручную изменить дату — могу ли я добавить к ней несколько **валидаторов?** (все еще нужна идея по этому поводу)
Спасибо.