台灣最大程式設計社群網站
線上人數
660
 
會員總數:245215
討論主題:189089
歡迎您免費加入會員
討論區列表 >> ASP.NET >> calendar(日期選擇)控件一問
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
calendar(日期選擇)控件一問
價值 : 50 QP  點閱數:124 回應數:3

樓主

精載
初學者
10 55
793 78
發送站內信

請問各位大大如何將上月導向隱藏而只顯示下月導向
搜尋相關Tags的文章: [ calendar ] ,
本篇文章發表於2019-10-02 08:44
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
到下個月後,或下下月之後,能不能往前翻?

還是您要的是:當月的時候,不能往前翻,只能往後,其他月份可以?

^.^a
本篇文章回覆於2019-10-03 09:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
問了幾天沒有回應,不知道是忙還是不想回覆

就假設當月之前的月份不能往前,之後的可以好了

---
Calendar控制項本身,並沒有針對往前一個月有特別獨立的設定可以做
因此,就必須先去了解
Calendar有哪些屬性,哪些方法,是我們想做到我們要可以利用的

以下這些,也是因為這篇,小喵才去觀察了一下相關的屬性方法

小喵點時間描述怎麼找,這樣未來大家在解決問題,也可以自己先花點時間找看看

發現一:
首先,找與下個月上個月相關的屬性
發現了
NextPrevFormat的屬性,可以設定上個月、下個月的樣式
在搭配PrevMonthText,他是用符號來代表往前、往後

那麼,當我不想讓使用者點選時,我是否將PrevMonthText設定為『空字串』
這樣使用者就點選不到呢?

發現二:

再來,就是要判斷,當年月<=現在的年月,就不要顯示
觀察Calendar的事件,覺得應該在『PreRender』,也就是要編譯後,開始組合html之前,來改變
這或許是個不錯的時機點
而目前Calendar顯示的是哪個年月,觀察與測試了一下,並且查詢官方屬性的說明發現
有個『VisiableDate』的屬性,他在官方的描述是如下
Gets or sets the DateTime value that specifies the month to display on the Calendar control.

感覺是有機會可以利用來知道目前的年月
但測試一下,一開始的時候,他取道的值固會是0001/1/1
但因為可以Set,所以我在Page_Load,而且Not IsPostBack的時候去設定初始值是當月,這樣是否就可以了呢?

有了以上的兩個發現與方向,接著就是動手做做看囉

在畫面上,就拉個Calendar,設定他的『NextPrevFormat』是『CustomText』,而且他是預設值



接著就是兩個設定PageLoad的時候,如果『不是PostBack(也就是剛載入,還沒有其他的動作)』,指定VisiableDate是現在的日期


還有就是在開始Render Html之前,依據VisiableDate與現在的年月比較,來指定『PrevMonthText』要顯示『<』還是『』


醬子,就能達到想要達到,本月之前(含本月)不要顯示上個月的控制
大於本月,就顯示可以往前

提供參考

^.^a
本篇文章回覆於2019-10-04 13:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

精載
檢舉此回應
不好意思再忙沒注意看.謝謝大指教
本篇文章回覆於2019-10-08 14:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.