SmartGwt DateItem useTextField=true - как сделать поле ввода текста нередактируемым

Поскольку я не могу понять, как решить мою проблему, представленную здесь Сейчас я думаю о временном решении.

У меня есть виджет 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 года. В чем причина этого? Можно ли это решить?

Кроме того, допустим, я предоставляю пользователю возможность вручную изменить дату — могу ли я добавить к ней несколько **валидаторов?** (все еще нужна идея по этому поводу)

Спасибо.


person Paul    schedule 15.02.2011    source источник


Ответы (2)



У вас много разных валидаторов. В зависимости от контекста должна быть возможность проверить количество элементов, отношение к другим элементам данных, тип данных (не только значения даты и времени) и отношения к другим внешним записям.

person huib valstar    schedule 19.07.2012