2014年1月9日 星期四

[ASP.NET C#] 如何用GridView顯示記錄時, 根據每一筆記錄的欄位值,若該日期是七天內的就顯示 New 的圖示

Reference:http://www.allenkuo.com/EBook5/view.aspx?TreeNodeID=82&id=1467

這算是一個入門問題,要解決這個問題大約要做到幾件事
  1. 在 GridView 的 RowDataBound 事件裡寫程式來取得欄位值
  2. 在 GridView 裡預先放一個 Image 控制項, 再根據欄位值決定要不要顯示它
網頁內容如下圖所示:

程式碼如下圖所示,我將重點都用黃色區塊標示出來了, 應該不難理解才對

執行結果如下, 收工


如果您經常需要這個功能, 就可以考慮寫一個自訂控制項, 如下圖所示, 我寫了一個 HotImage 的自訂控制項, 只需要填入 BoundValue(填入值是日期), 以及 DiffDays(填入 -7 表示距離今天七天以內的都顯示此圖片), 就不必寫 RowDataBound 事件囉, 開發速度是不是快多了呢?


其實撰寫自訂控制項不全然是很難的工作, 只要了解控制項的生命週期及一些基本知識, 繼承既有控制項並擴充它的功能並不難懂, 程式也不難寫。如果您希望也有這類能力, 可以考慮報名我控制項進階班。2013年 7 月的控制項進階班正在招生中
2013/07/13 ~2013/08/17, 每星期六下午1:30~ 4:30, 每次三小時, 一共 6 週, 共 18 小時

沒有留言:

張貼留言