前幾天在找 jQuery 的 DataGrid 外掛時, 在下面這網站找到 jQuery EasyUI 這個好用的函式庫, 昨晚幫媽按摩完後, 睡覺前將這些資料整理如下 :
# Top 5 jQuery UI Alternatives
它主要是利用 HTML5 技術來為 jQuery 提供簡易快速的 UI 介面, 我覺得是不錯的 jQueryUI 替代方案. 其官網, 範例以及下載連結如下 :
# jQuery EasyUI 官網
# jQuery EasyUI 範例
jQuery EasyUI 基本上是個商用軟體, 但提供 GPL 版本免費使用, 可從這裡下載 :
# jQuery EasyUI 下載 (GPL 版本)
目前是 1.4 版, 下載解開後目錄結構如下 :
專案中會用到的只有 jquery.min.js, jquery.easyui.min.js, 與 locale 目錄下的 easyui-lang-zh_TW (繁體中文化) 這三個檔案, 以及 themes 這個目錄即可. 但我 PHP 測試網站已經有 jQuery UI 的測試環境, 所以我只要複製 jquery.easyui.min.js 與 themes 目錄到我的網站的 jquery 目錄下即可. 因為 jQuery UI 已經有一個 themes 目錄在那裡, 為了區別, 所以我先把 EasyUI 的 themes 目錄改名為 easyui-themes 再壓縮上傳伺服器後解壓縮. 最後自備的 jquery 目錄下是長這樣 (圈選起來的是屬於 EasyUI 的, 其餘則是以前測試 jQueryUI 的) :
經過這樣配置, 我原先測試 jQueryUI 的伺服器環境就可以同時測試 EasyUI 了. 下面就以解壓縮目錄下的 demo/datagrid/basic.html 這個檔來測試一下是否配置無誤. 打開此檔可以發現於 head 中需指定下列資源檔 :
<link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../../themes/icon.css">
<link rel="stylesheet" type="text/css" href="../demo.css">
<script type="text/javascript" src="../../jquery.min.js"></script>
<script type="text/javascript" src="../../jquery.easyui.min.js"></script>
這邊我們要根據環境配置修改 href 的相對路徑, 我的網站路徑配置如下 :
root
|__ jquery
| |__ jquery.js
| |__ jquery.easyui.min.js
| |__ easyui-lang-zh_TW.js
| |__ easyui-themes
|__ jquerytest
|__ easyui-datagrid-1.htm
所以 JS 與 CSS 資源的相對路徑要改為如下 :
<link rel="stylesheet" type="text/css" href="../jquery/easyui-themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="../jquery/easyui-themes/icon.css">
<script type="text/javascript" src="../jquery/jquery.js"></script>
<script type="text/javascript" src="../jquery/jquery.easyui.min.js"></script>
<script type="text/javascript" src="../jquery/easyui-lang-zh_TW.js"></script>
接下來看 basic.html 中的 HTML5 表格內容, 其中 table 標籤的 data-options 屬性中的 url 是用來指定表格的 AJAX 資料來源, method 用來指定 HTTP 方法, 如下所示 :
<table class="easyui-datagrid" title="Basic DataGrid" style="width:700px;height:250px" data-options="singleSelect:true,collapsible:true,url:'datagrid_data1.josn',method:'get'">
<thead>
<tr>
<th data-options="field:'itemid',width:80">Item ID</th>
<th data-options="field:'productid',width:100">Product</th>
<th data-options="field:'listprice',width:80,align:'right'">List Price</th>
<th data-options="field:'unitcost',width:80,align:'right'">Unit Cost</th>
<th data-options="field:'attr1',width:250">Attribute</th>
<th data-options="field:'status',width:60,align:'center'">Status</th>
</tr>
</thead>
</table>
我們將原始的 basic.html 經上述修改後存成 easyui-datagrid-1.htm, 但是這個網頁檔在本機執行時只會顯示表格標題, 無法顯示表格內容, 必須將 datagrid_data1.json 這個資料來源檔案也上傳到伺服器才行, 其內容結構如下 :
{"total":28,"rows":[
{"productid":"FI-SW-01",
"productname":"Koi",
"unitcost":10.00,
"status":"P",
"listprice":36.50,
"attr1":"Large",
"itemid":"EST-1"},
...
]}
可見需有 total (總筆數) 與 rows (列資料) 兩個屬性, 列資料是一個物件陣列, 每一個物件實體是欄位名稱與欄位值的對應.
範例 1 : http://mybidrobot.allalla.com/easyuitest/easyui-datagrid-1.htm [看原始碼]
當然, 實際應用上是由後端程式如 PHP 等產生輸出資料, 這時只要將 table 標籤的 data-options 屬性裡的 url 改為 .php 程式即可.
第二種環境配置就是直接使用 EasyUI 官網的檔案, 放在 http://www.jeasyui.com/easyui/ 目錄下, 只要依照下載 zip 檔解壓縮後的目錄結構按圖索驥即可找到, 所以上述之資源指定要改為 :
JS 與 CSS 資源的相對路徑要改為如下 :
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="http://www.jeasyui.com/easyui/locale/easyui-lang-zh_TW.js"></script>
如下列範例 2 所示 :
範例 2 : http://mybidrobot.allalla.com/easyuitest/easyui-settings-cdn.htm [看原始碼]
效果是一樣的, 好處是不必自己準備資源檔.
參考資料 :
# zTree-jQuery tree plug-ins
2014年9月8日 星期一
2014年9月6日 星期六
買液晶螢幕
因為小狐狸們開學了, 放學後常要用電腦寫作業, 而客廳的 win8 電腦因使用電視充當螢幕太大, 而且位置過高要抬頭看, 考慮移到書房去, 因此早上到 PCHOME 找到 Viewsonic 20 吋的, 促銷價 $2888 :
# 限時促銷 ViewSonic VA2046m-LED 20型LED寬螢幕
而且 24 小時快速到貨, 最晚明天 10 點就可收到了.
客廳以後就用樹莓派做家庭多媒體, 或者買個二手的 Mac Mini.
今天下午跟阿姨一起扶媽坐起來拍背, 避免臥床太久生褥瘡.
註 :
下午阿姨來病房接替我, 回到家後已三點半, 管理員通知我說螢幕剛到, 哇, PCHOME 24 小時到貨超過 5 小時, 不過中午時我在客戶回應中已回覆 "我可以等, 請勿催送貨員, 交通安全最重要". 就算準時送到, 我也還沒回家啊.
叫二哥幫忙把螢幕裝好, 一切 OK, 原先擔心 20 吋太大, 現在卻覺得還好.
# 限時促銷 ViewSonic VA2046m-LED 20型LED寬螢幕
而且 24 小時快速到貨, 最晚明天 10 點就可收到了.
客廳以後就用樹莓派做家庭多媒體, 或者買個二手的 Mac Mini.
今天下午跟阿姨一起扶媽坐起來拍背, 避免臥床太久生褥瘡.
註 :
下午阿姨來病房接替我, 回到家後已三點半, 管理員通知我說螢幕剛到, 哇, PCHOME 24 小時到貨超過 5 小時, 不過中午時我在客戶回應中已回覆 "我可以等, 請勿催送貨員, 交通安全最重要". 就算準時送到, 我也還沒回家啊.
叫二哥幫忙把螢幕裝好, 一切 OK, 原先擔心 20 吋太大, 現在卻覺得還好.
病房雜記
今天已經 9 月 6 日, 再過兩天就是中秋了. 我已一個多月沒寫日記, 因為媽的淋巴癌二度復發, 自 7/24 門診住院以來, 我幾乎都在病房過夜, 第二天左營阿姨來了, 再趕去上班. 小阿姨也再度每周搭高鐵下來照顧, 還有小舅一家的幫忙與關照, 不知如何言謝.
7/28 轉入單人病房後, 一連串的檢查發現, 不只是淋巴癌再現, 還多了個泌尿道上皮細胞癌. 病情每況愈下, 止痛藥已經無法止住疼痛, 必須使用嗎啡, 有時還要加高劑量. 再度復發化療其實已經效果不大, 副作用卻很嚴重, 電療也只是設法降低疼痛而已.
當查出腹痛的原因是上皮細胞癌, 醫生說可做低劑量化療時, 突然, 我心裡又看到一絲希望, 似乎媽還有再度治癒可能, 但是化療後那周, 由於血小板與白血球過低, 無法再繼續, 加上藥效過後的劇烈疼痛, 我跟醫生表達了安寧照護的意思, 只要鎮住疼痛即可, 不須積極治療, 因為每次去電療都是一種折磨.
檢查報告出來後, 我感覺到媽這次要能再回去種菜或許是奢求了. 我開始恐慌, 就像以前打電話時聽她說身體又怪怪時那樣. 後來向圖書館借了 "不被醫生殺死的 47 心得" 這本書, 才對安寧照護較能接受. 也讓我了解了一個道理, 人要跟癌症鬥爭, 要完全戰勝癌症, 事實上還是很無力. 化療過後似乎治癒了, 但幾年後又會復發, 當它再次撲過來時, 是那樣地快速與凌厲.
由於要在工作, 家庭, 與病房穿梭, 所以最近也把跟市圖借的書逐一清空, 閒書全部還掉, 只留下 PHP, jQuery, 以及投資方面的書. 前陣子忙的 Java 與 ExtJS 全部擱下.
九月小狐狸們都開學了, 姊姊上了高中似乎很高興, 她說還好有去考美術班. 二哥這學期上國二了, 山葉的鋼琴課在 8/17 的音樂比賽結束後就停了, 因為他似乎對鋼琴不是很有熱情, 音樂會我也沒去看, 只是載他去彩排時拍了一些照片而已. 菁菁上小六, 據說本屆不舉辦畢業旅行了, 我沒空參加班親會, 所以無法跟老師確認. 本學期開始她自己走路上學, 學學獨立也好.
阿蘭的終止收養聲請我已跑兩趟家事法庭, 我的感想是, 我第一趟就已經說清楚問題了, 但照法律程序, 第一趟 "必須" 是白跑, 法官一定會依法駁回, 因為不是本人提出聲請, 然後我們再提出抗告, 所以, 還要跑第三趟開庭. 跑一趟要花程序費一千塊.
今天下午媽媽在睡覺, 得空姑且記一下這些日子來的生活點滴.
7/28 轉入單人病房後, 一連串的檢查發現, 不只是淋巴癌再現, 還多了個泌尿道上皮細胞癌. 病情每況愈下, 止痛藥已經無法止住疼痛, 必須使用嗎啡, 有時還要加高劑量. 再度復發化療其實已經效果不大, 副作用卻很嚴重, 電療也只是設法降低疼痛而已.
當查出腹痛的原因是上皮細胞癌, 醫生說可做低劑量化療時, 突然, 我心裡又看到一絲希望, 似乎媽還有再度治癒可能, 但是化療後那周, 由於血小板與白血球過低, 無法再繼續, 加上藥效過後的劇烈疼痛, 我跟醫生表達了安寧照護的意思, 只要鎮住疼痛即可, 不須積極治療, 因為每次去電療都是一種折磨.
檢查報告出來後, 我感覺到媽這次要能再回去種菜或許是奢求了. 我開始恐慌, 就像以前打電話時聽她說身體又怪怪時那樣. 後來向圖書館借了 "不被醫生殺死的 47 心得" 這本書, 才對安寧照護較能接受. 也讓我了解了一個道理, 人要跟癌症鬥爭, 要完全戰勝癌症, 事實上還是很無力. 化療過後似乎治癒了, 但幾年後又會復發, 當它再次撲過來時, 是那樣地快速與凌厲.
由於要在工作, 家庭, 與病房穿梭, 所以最近也把跟市圖借的書逐一清空, 閒書全部還掉, 只留下 PHP, jQuery, 以及投資方面的書. 前陣子忙的 Java 與 ExtJS 全部擱下.
九月小狐狸們都開學了, 姊姊上了高中似乎很高興, 她說還好有去考美術班. 二哥這學期上國二了, 山葉的鋼琴課在 8/17 的音樂比賽結束後就停了, 因為他似乎對鋼琴不是很有熱情, 音樂會我也沒去看, 只是載他去彩排時拍了一些照片而已. 菁菁上小六, 據說本屆不舉辦畢業旅行了, 我沒空參加班親會, 所以無法跟老師確認. 本學期開始她自己走路上學, 學學獨立也好.
阿蘭的終止收養聲請我已跑兩趟家事法庭, 我的感想是, 我第一趟就已經說清楚問題了, 但照法律程序, 第一趟 "必須" 是白跑, 法官一定會依法駁回, 因為不是本人提出聲請, 然後我們再提出抗告, 所以, 還要跑第三趟開庭. 跑一趟要花程序費一千塊.
今天下午媽媽在睡覺, 得空姑且記一下這些日子來的生活點滴.
2014年7月23日 星期三
好大喜功的教改
一免放榜後無校可讀的成績優異學生, 在歷經月餘衝刺後, 終於如願以償考上南一中, 還是全國狀元, 回過頭來批免試入學是個笑話, 教育局官員說不能因為一人改規則云云 ...
# 特招狀元 批免試是個笑話
關於十二年國教免試入學, 相信全國所有有幸成為白老鼠的家長, 早已經 X 到無力再罵, 其實我也不想再批, 但是這位陳同學講出了大家的心聲, 教育官員的回應仍然是搞不清楚自己捅出啥樓子, 所以又讓我不吐不快.
# 特招狀元 批免試是個笑話
關於十二年國教免試入學, 相信全國所有有幸成為白老鼠的家長, 早已經 X 到無力再罵, 其實我也不想再批, 但是這位陳同學講出了大家的心聲, 教育官員的回應仍然是搞不清楚自己捅出啥樓子, 所以又讓我不吐不快.
- 說是免試, 但又要會考, 又要特招, 這不是笑話, 難道是童話?
- 說不能因為一人改規則, 這根本搞不清楚自己為什麼被罵.
- 12 年國教時機不成熟硬上, 根本就是馬英九好大喜功的結果.
- 多元學習怪象 : 一大堆國中生為志工時數到市立圖書館排隊
台北之行
為了今年的評鑑, 周日早上從鄉下回高雄, 搭 10 點自強號北上, 下午三點到台北後, 先去重慶南路書店街逛, 看到這本蔡律師寫的 "612 包租公", 看到一半不禁掩卷嘆息, 如果十幾年前沒把海山高工附近的那棟小房子賣掉, 我也早就是捷運站附近的包租公了! 都怪當年那個陳進興, 害我對當房東興趣缺缺, 便急著把它賣掉, 真是愚蠢之極. 總之, 我就是沒有橫財運啦! 難怪樂透零星買到現在, 連個最小獎都沒中過!
傍晚想搭捷運到小阿姨在永安市場站附近的火鍋店, 呵呵, 快兩年沒來台北了, 台北轉運站密密麻麻的地下道, 搞得我暈頭轉向, 我是一路問人才搞清楚, 原來要先搭往新店的淡水線到古亭, 再轉搭往南勢角方向即可到永安市場. 但下一次去台北保證又會忘記. 小阿姨說要去板橋店看看, 我騎表弟的機車跟在她後面, 這是離開台北這麼多年, 第一次在原本熟悉的中和板橋地面騎機車亂竄, 但往日的回憶卻已依稀.
晚上回到小阿姨在新店安新路的新家, 見到了 9 個月大可愛的小侄子, 抱著不怕生很愛笑的他, 我跟阿姨說, 時光過得可真快, 似乎這樣抱著菁菁好像不過是昨天的事啊! 一轉眼卻已是個小姑娘了.
週一週二就去執行公務, 就是評鑑啦! 順便認識一下台北的同事, 平常業務往來只靠電話或視訊, 比較虛擬. 週二麥德姆颱風逼近, 取消午休進行講評結束就去趕高鐵, 萬一停開就回不了高雄了.
傍晚想搭捷運到小阿姨在永安市場站附近的火鍋店, 呵呵, 快兩年沒來台北了, 台北轉運站密密麻麻的地下道, 搞得我暈頭轉向, 我是一路問人才搞清楚, 原來要先搭往新店的淡水線到古亭, 再轉搭往南勢角方向即可到永安市場. 但下一次去台北保證又會忘記. 小阿姨說要去板橋店看看, 我騎表弟的機車跟在她後面, 這是離開台北這麼多年, 第一次在原本熟悉的中和板橋地面騎機車亂竄, 但往日的回憶卻已依稀.
晚上回到小阿姨在新店安新路的新家, 見到了 9 個月大可愛的小侄子, 抱著不怕生很愛笑的他, 我跟阿姨說, 時光過得可真快, 似乎這樣抱著菁菁好像不過是昨天的事啊! 一轉眼卻已是個小姑娘了.
週一週二就去執行公務, 就是評鑑啦! 順便認識一下台北的同事, 平常業務往來只靠電話或視訊, 比較虛擬. 週二麥德姆颱風逼近, 取消午休進行講評結束就去趕高鐵, 萬一停開就回不了高雄了.
2014年7月18日 星期五
垃圾與黃金
最近教育部長因為論文引用問題下台, 造成台灣學術聲譽受損, 今天看了這篇 :
# 科技部:證據讓陳氏兄弟混不下去
# 教授權益案 多半與論文有關
# 論文審查案 學者盼導正風氣
我的感想是, 這不是台灣學術圈普遍的現象嗎? 為何大驚小怪? 老外實在太白目了. 有評論表示, 教育圈重視論文發表數量, 重量不重質, 教育部長不思改善遭到反噬, 能說冤枉嗎?
這讓我想起 1905 年愛因斯坦發表的六篇論文, 其中刊登在物理年鑑的 "論動體的電動力學" 是其狹義相對論的濫觴, 全篇沒有引用任何一篇其他論文, 但卻是開啟人類視野的劃時代著作. 對比現在一堆的垃圾論文, 這才是黃金. 當然, 百年才出一個愛因斯坦, 只是, 現在還有多少人願意像愛因斯坦那樣, 十年磨一劍呢? (還要不要升教授啊)
現在的學術論文有嚴格的審查規定, 引用他人著作務必註明 (citation). 但是學術升等制度卻讓聰明人找到漏洞, 每年製造了為數可觀的論文, 並透過這些漏洞互相引用, 堆高學術聲望的假象, 然後在教授升等或研究計畫申請方面得到好處. 總之, 都是為了 ~~~ 錢.
這真的是可惜了. 聰明人愛錢其實有更好且名正言順的管道, 要嘛做生意 要嘛研究股票投資, 不需要這麼費腦力去搞專業的學術研究. 我深深覺得, 人會出問題, 通常是因為對的人放在錯誤的位置上, 或者, 錯的人放在對的位置上.
「教授要名要錢不要臉,學生看臉看勢不看書」, 唉, 這世道.
# 科技部:證據讓陳氏兄弟混不下去
# 教授權益案 多半與論文有關
# 論文審查案 學者盼導正風氣
我的感想是, 這不是台灣學術圈普遍的現象嗎? 為何大驚小怪? 老外實在太白目了. 有評論表示, 教育圈重視論文發表數量, 重量不重質, 教育部長不思改善遭到反噬, 能說冤枉嗎?
這讓我想起 1905 年愛因斯坦發表的六篇論文, 其中刊登在物理年鑑的 "論動體的電動力學" 是其狹義相對論的濫觴, 全篇沒有引用任何一篇其他論文, 但卻是開啟人類視野的劃時代著作. 對比現在一堆的垃圾論文, 這才是黃金. 當然, 百年才出一個愛因斯坦, 只是, 現在還有多少人願意像愛因斯坦那樣, 十年磨一劍呢? (還要不要升教授啊)
現在的學術論文有嚴格的審查規定, 引用他人著作務必註明 (citation). 但是學術升等制度卻讓聰明人找到漏洞, 每年製造了為數可觀的論文, 並透過這些漏洞互相引用, 堆高學術聲望的假象, 然後在教授升等或研究計畫申請方面得到好處. 總之, 都是為了 ~~~ 錢.
這真的是可惜了. 聰明人愛錢其實有更好且名正言順的管道, 要嘛做生意 要嘛研究股票投資, 不需要這麼費腦力去搞專業的學術研究. 我深深覺得, 人會出問題, 通常是因為對的人放在錯誤的位置上, 或者, 錯的人放在對的位置上.
「教授要名要錢不要臉,學生看臉看勢不看書」, 唉, 這世道.
2014年7月17日 星期四
ExtJS 4 測試 : Panel 類別與佈局
測完 GridPanel, 本來想前進到 TreePanel, 但想到還沒對這些面板的老祖先 Ext.panel.Panel 類別做個測試, 感覺不太踏實, 因此擱下 TreePanel, 先來看看 Panel 類別以及與其息息相關的版面佈局 (Layout), 其 API 參見 :
# http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.panel.Panel
Panel 類別是一個容器元件 (container), 其 xtype 為 panel, 繼承關係如下 :
Ext.Component
|__ Ext.container.AbstractContainer
|__ Ext.container.Container
|__ Ext.panel.AbstractPanel
|__ Ext.panel.Panel
|__ Ext.panel.Table
| |__ Ext.grid.Panel
| |__ Ext.tree.Panel
|__ Ext.tab.Panel
# http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.panel.Panel
Panel 類別是一個容器元件 (container), 其 xtype 為 panel, 繼承關係如下 :
Ext.Component
|__ Ext.container.AbstractContainer
|__ Ext.container.Container
|__ Ext.panel.AbstractPanel
|__ Ext.panel.Panel
|__ Ext.panel.Table
| |__ Ext.grid.Panel
| |__ Ext.tree.Panel
|__ Ext.tab.Panel
測試網站故障
這兩天無法連線我的測試網站 http://mybidrobot.allalla.com/, 甚至無法以檔案總管管理後端檔案, 已經向 1freehosting 申告. 但其他功能似乎還正常, 因此趕緊備份整個檔案下載.
我看還是用 Google App Engine 比較保險, 它幾乎不會當機, 但原先用 PHP 寫的後端程式全部要改用 Python 寫就有點麻煩而且費時間.
ExtJS 的設定有許多眉眉角角, 昨天本來心生倦意, 想要重回 jQuery UI 懷抱, 複習了一下 "鋒利的 jQuery", 感覺 jQuery 還是比較直覺, 難怪這麼受歡迎.
本周日要上台北參加評鑑, 測試工作要暫停.
[2014-07-18] 今天連線已恢復正常, 改用 GAE 後台以後有空再說.
我看還是用 Google App Engine 比較保險, 它幾乎不會當機, 但原先用 PHP 寫的後端程式全部要改用 Python 寫就有點麻煩而且費時間.
ExtJS 的設定有許多眉眉角角, 昨天本來心生倦意, 想要重回 jQuery UI 懷抱, 複習了一下 "鋒利的 jQuery", 感覺 jQuery 還是比較直覺, 難怪這麼受歡迎.
本周日要上台北參加評鑑, 測試工作要暫停.
[2014-07-18] 今天連線已恢復正常, 改用 GAE 後台以後有空再說.
2014年7月15日 星期二
ExtJS 4 測試 : TabPanel 中的 GridPanel
今天想說提早測試一下未來使用 ExtJS 給工作日誌改版時最重要的應用 : Grid within Tab Panel, 所以草草地根據下面四篇舊作寫了一個測試, 經過一番折騰後, 終於證實可行 :
Ext.onReady(function() {
var columns=[{header:"股票名稱",dataIndex:"name",width:60},
{header:"股票代號",dataIndex:"id",width:60},
{header:"收盤價 (元)",dataIndex:"close",width:60},
{header:"成交量 (張)",dataIndex:"volumn",width:60},
{header:"股東會日期",dataIndex:"meeting"},
{header:"董監改選",dataIndex:"election",width:50}];
var data=[["台積電","2330",123,4425119,"2014/06/04",false],
["中華電","2412",96.4,5249,"2014/06/15",false],
["中碳","1723",192.5,918,"2014/07/05",true],
["創見","2451",108,733,"2014/06/30",false],
["華擎","3515",118.5,175,"2014/07/20",true],
["訊連","5203",97,235,"2014/05/31",false]];
var store1=Ext.create("Ext.data.ArrayStore", {
autoLoad:true,
data:data,
fields:[
{name:"name"},
{name:"id"},
{name:"close"},
{name:"volumn"},
{name:"meeting"},
{name:"election"}
]
});
var store2=Ext.create("Ext.data.Store", {
autoLoad:true,
proxy:{
type:"ajax",
url:"get_stocks.php",
reader:{
type:"json",
totalProperty:"totalProperty",
root:"root",
idProperty:"id"
}
},
fields:[
{name:"name"},
{name:"id"},
{name:"close"},
{name:"volumn"},
{name:"meeting"},
{name:"election"}
]
});
var grid1=Ext.create("Ext.grid.Panel",{
title:"台股 (近端資料)", //一定要設 title
columns:columns,
store:store1,
width:500,
forceFit:true
});
var grid2=Ext.create("Ext.grid.Panel",{
title:"台股 (遠端資料)", //一定要設 title
columns:columns,
store:store2,
width:500,
forceFit:true
});
var tp=Ext.create("Ext.TabPanel",{
title:"台股",
width:600,
height:300,
style:"margin:10px;",
frame:true,
autoScroll:false,
defaults:{bodyPadding:10},
items:[
grid1,
grid2,
{title:"管理",html:"管理"}
],
renderTo:Ext.getBody()
});
}); //end of onReady
測試範例 2 : http://tony1966.xyz/test/extjstest/grid_in_tab_2.htm [看原始碼]
參考資料 :
# extjs tabpanel 中添加gridpanel如何实现?
# ExtJs TabPanel Scrollbar behaviour if Tab items bigger than tab size
- ExtJS 4 測試 : GridPanel (一)
- ExtJS 4 測試 : GridPanel (二)
- ExtJS 4 測試 : GridPanel (三)
- ExtJS 4 測試 : 頁籤面板 TabPanel
Ext.onReady(function() {
var columns=[{header:"股票名稱",dataIndex:"name",width:60},
{header:"股票代號",dataIndex:"id",width:60},
{header:"收盤價 (元)",dataIndex:"close",width:60},
{header:"成交量 (張)",dataIndex:"volumn",width:60},
{header:"股東會日期",dataIndex:"meeting"},
{header:"董監改選",dataIndex:"election",width:50}];
var data=[["台積電","2330",123,4425119,"2014/06/04",false],
["中華電","2412",96.4,5249,"2014/06/15",false],
["中碳","1723",192.5,918,"2014/07/05",true],
["創見","2451",108,733,"2014/06/30",false],
["華擎","3515",118.5,175,"2014/07/20",true],
["訊連","5203",97,235,"2014/05/31",false]];
var store1=Ext.create("Ext.data.ArrayStore", {
autoLoad:true,
data:data,
fields:[
{name:"name"},
{name:"id"},
{name:"close"},
{name:"volumn"},
{name:"meeting"},
{name:"election"}
]
});
var store2=Ext.create("Ext.data.Store", {
autoLoad:true,
proxy:{
type:"ajax",
url:"get_stocks.php",
reader:{
type:"json",
totalProperty:"totalProperty",
root:"root",
idProperty:"id"
}
},
fields:[
{name:"name"},
{name:"id"},
{name:"close"},
{name:"volumn"},
{name:"meeting"},
{name:"election"}
]
});
var grid1=Ext.create("Ext.grid.Panel",{
title:"台股 (近端資料)", //一定要設 title
columns:columns,
store:store1,
width:500,
forceFit:true
});
var grid2=Ext.create("Ext.grid.Panel",{
title:"台股 (遠端資料)", //一定要設 title
columns:columns,
store:store2,
width:500,
forceFit:true
});
var tp=Ext.create("Ext.TabPanel",{
title:"台股",
width:600,
height:300,
style:"margin:10px;",
frame:true,
autoScroll:false,
defaults:{bodyPadding:10},
items:[
grid1,
grid2,
{title:"管理",html:"管理"}
],
renderTo:Ext.getBody()
});
}); //end of onReady
測試範例 2 : http://tony1966.xyz/test/extjstest/grid_in_tab_2.htm [看原始碼]
參考資料 :
# extjs tabpanel 中添加gridpanel如何实现?
# ExtJs TabPanel Scrollbar behaviour if Tab items bigger than tab size
2014年7月9日 星期三
姐姐的新手機
姐姐的手機用了四年多, 雖然還堪用, 為了慶祝她考上美術班, 所以中午跑去林森路的門市, 用爸爸的手機門號 2G 升 3G 的綁約購機優惠 1000 元方案, 買了鴻海入門款的 InFocus M210, 月租 183 型只要 1790, 搭配申請來電答鈴, 每月帳單再扣 100 元為期 1 年 (要記得一年後要停租來電答鈴), 也就是下月起每月月租最低是 183-100=83 元, 還蠻划算的, 相當於又省了 1200, 這樣購機成本就降到 590 元了.
還好昨天姊姊有看到 DM 上有這款, 要不然就會去 InFocus 官網用 3280 價格買了. 據說 2G 將陸續關台, 所以升 3G 是必然的, 趁著鼓勵升 3G 還有優惠就升較划算. 另外也問了客服如意卡升 3G 問題, 摘要如下 :
還好昨天姊姊有看到 DM 上有這款, 要不然就會去 InFocus 官網用 3280 價格買了. 據說 2G 將陸續關台, 所以升 3G 是必然的, 趁著鼓勵升 3G 還有優惠就升較划算. 另外也問了客服如意卡升 3G 問題, 摘要如下 :
- 一人名下只能有一個 2G, 一個 3G 預付卡限制在 2014/5/13 後已改變, 2G 如意卡可到櫃台免費直接升 3G 如意卡, 但條件是不能再申請退回 2G 卡. 而且年底前還贈送 300 元通話費 (優先扣), 但需半年內用完.
- 3G 如意卡若要上網, 不要在櫃台升級時開通 (只開語音即可), 要使用時再撥 928 客服線上申請開通上網. 計量計費方式可用 100M 100 元或 1GB 180 元, 須在開通後 60 天內用完, 用不完可在截止前去電 928 客服展延 60 天.
訂閱:
文章
(
Atom
)




