2010-02-09 60 views
1

我正在評估是否使用SmartGWT,並且沒有使用SmartGWT的經驗。我在日曆小部件上有一個特定的問題。SmartGWT日曆月部件

當您前往航空公司/汽車租賃網站,並且您需要指定月份的某一天進行預訂時,會彈出一個月份日曆,客戶用戶可以點擊前進/上一月選擇月。然後,客戶用戶從日曆中選擇當月的那一天。

在vaadin中,您可以約束日曆小部件來執行此操作。

有沒有一種方法來定義SmargGWT中的日曆小部件的行爲和約束來做到這一點?

回答

1

有許多方法,如setDisableWeekends(布爾disableWeekends) - 事件不能在週末創建,setTimelineRange(日期開始,日期結束) - 設置在其上的時間表將顯示事件的範圍內,setWorkdayStart(字符串workdayStart)。

javadoc顯示有多少定製。

在最糟糕的情況下,如果Calendar類沒有一些非常具體的功能,您總是可以對它進行子類化。

如果您需要最可能在CSS中進行的視覺更改。我已經用螢火蟲檢查了生成的HTML,它可能很乏味,但可以用CSS改變元素的大小,使用!important屬性覆蓋內聯樣式可以100%。

+0

到目前爲止,創建的日曆過大。我需要一個微小的彈出式日曆。如何將日曆的大小修改爲很小,並且每個月的日子仍可點擊。 – 2010-02-09 13:47:41

1

SmartGWT的用戶界面不會失敗留下深刻的印象。受到一系列光滑的小部件的誘惑,我忍不住在一些項目中使用它。有一些事情要注意:

  1. SmartGWT的是GWT包裝器周圍大量Javascript庫。你很快就會意識到,要定製或修改一個小部件,或者修復一個問題,你最終會離開Java並且專注於Javascript。你沒有采用GWT框架,你正在採用一個不平凡的Javascript框架。如果你看一下Calendar展示例子,你很快就會意識到GWT中的自定義選項是有限的。

  2. 隨着時間的推移,遇到了很多嚴重的跨瀏覽器問題,主要是在不太廣泛使用的瀏覽器(Safari,Chrome)中。但是,這些使用不太廣泛的瀏覽器正在不斷髮展......

  3. 控件和它們的數據源緊密集成在一起,Javascript處於底層。在我採用的版本之間,用於爲SOAP服務器資源提供小部件的數據協議打破了兩次。而且,最終你會爲最新的跨瀏覽器錯誤修復嘗試新版本......通常,你會需要最新的快照。在這兩種情況下,我都能夠解決這個問題,但它涉及挖掘Javascript框架。

  4. 根據我的經驗,採用smartgwt的結果是相當高的維護。對於某些應用程序,您可能更適合抵制炫目的小部件,並開發使用大多數GWT的更簡單的用戶界面。

說了這麼多,smartgwt和smartclient都得到了很好的支持。開發者論壇非常活躍和有用,問題很快得到解決。