2013年8月25日 星期日

EX4JS?!?!?!

最近工作告一段落...

似乎也被上頭的主管發現了!!! 想偷偷打混摸魚都不行=.=

結果星期一一大早就被交付任務

要去找個叫做 EX4JS 的東西

恩...很明顯應該是個 JQuery 的, 然後主管有說到是 UI 相關的

想說直接辜狗一下關鍵字...沒有?!

倒是看到 EXT ...進去看了一下 DEMO網頁

應該就是這個沒錯了...只是好像是因為最近版本的關係

才變成 EXT JS 4.2.1...沒看錯東西就好~~

http://docs.sencha.com/extjs/4.2.1/#!/example/locale/multi-lang.html

2013年7月18日 星期四

工作忙碌...

好用的 Jquery Menu 語法:

http://blog.pkcase.com/?p=212

好用的Gridview凍結欄位:

http://twlikol.blogspot.tw/2011/07/aspnet-gridview.html

http://gridviewscroll.aspcity.idv.tw/Demo.aspx#Freeze

2013年7月14日 星期日

捷運兩三事

其實我原本主題想打 "自私的台北人",

但總覺得會一竿子打翻一船人,而且可能也太Tune,

加上也只能算是特定時段會看到的現象,

所以就以這種標題讓大家看


不管是一個禮拜中的哪一天,星期一至星期五

早上的捷運總是人滿為患。


以前在高中,大學,研究所的時代裡,

因為並不是天天搭捷運通勤,也或許是當初沒這回事,

所以完全沒有發現到,直到今天...


捷運來了,人們趕著上車,

我注意到,有些人總是不按排隊順序,

人家左邊下車,右邊上車,他就是硬要跟人相反,從左邊插隊上車,

再不然就是別人還在下車,他就是喜歡跟人家擠...


上了車之後,又馬上會看到有些人就是要站在那個位置,不讓給其他人,

彷彿一副 "此地是我家,此位是我站,想要跟我搶,先等我下車",

偏偏這些位置都是車廂內的精華地段,中央,門口兩側...


好不容易平安上車了,正當捷運才開到下一站時,

冷不防的就從背後被用力推了一把,"借過"  這算是口氣好一點的,

這年頭很少有人把 "請,不好意思,謝謝" 掛在嘴邊的,要也是掛在他的小孩身上。


 最後終於等到自己快要下車的前一站,

突然幾個人在車廂要關閉之前跳進來,然後就站在門口,

沒錯,他們就是從隔壁車廂溜過來的,

為什麼他們不走車廂走道?  因為這樣沒辦法站到第一個出去的位置。

為什麼走月台換其他車廂?  因為這樣別人也沒辦法拒絕他站在最前。


或許這些人非常趕時間,似乎只要慢上10秒車子就會開走,就會沒辦法過紅綠燈,

但在我從後面看來,事實並不是如此。


車門打開了,站在最前面的人是第一個踏出腳步踩在月台上的,

但他接下來是走往電扶梯,靠在電扶梯的右側緩慢前進,

而他後面的好多人,有人靠著電扶梯左側走上去,有人走樓梯,


當初排第一個的人,真的這麼趕時間嗎?

我不確定,但我可以肯定他後面的那群人都比他能夠把握時間,

雖然起點不是最佳位置,但能夠在之後超越他人。


這到底是在訴說上班時間人們的自私心態?

還是在激勵各位,再怎麼樣的起點也都可以比他人早一步達成目標?


 無論如何,這場好氣又好笑的鬧劇,

在傍晚的下班時刻和假日,是從來也看不到的,

欲收看的觀眾們,也請把握時間在上班日的早晨買好捷運票,以免向隅。

2013年7月9日 星期二

工作抱怨

最近正在趕著程式改版,

結果臨時插了一個單進來,本想說當天速戰速決,

誰知道這根本是另外一個坑,連收單的人都不會檢查一下內容有沒有問題。

內容大概就是一個gridview原本查詢的資料庫,要join其他資料庫資料,

想用新增伺服器物件...說不安全拒絕,

把表格先抓進電腦記憶體跑...事情就這樣發生了。


雖然我程式也不是寫得很好,

但三番兩次都跑不出結果就真的很詭異。

寫程式的都知道,跑出 error 基本上都還屬於能解(理解)的範圍,

但是連個屁也沒有問題就大了。

簡單來說,你得了肝癌不也是完全沒徵兆~_~

自己只好用 WinSQL 去資料庫看看是怎麼回事

不看還好...一看...自己電腦也差點當機,

原來資料庫裡面的資料高達上百萬筆...

我的媽...把這些東西讀進去電腦裡,

每個客戶都來一次,電腦不會葛屁才有鬼,

重點是速度根本慢到爆炸,查個資料查個10幾分鐘,

這種東西根本可以查到天荒地老,然後丟給你一個結果是(空) 。


反正看到這情況,就是向上報告,

看他們怎麼處理,之後再依法行事,

比較奇怪的是,從接單到我手上總共經手3個以上的人,

竟然只有我有這問題,是我運氣不好還是...!?

jQuery Library 改版之草草結束

上次好像說要交代回傳的部分,

不過後來發現要貼的程式碼太多,會霧煞煞

所以就簡單的告訴大家回傳的字串要長什麼樣子

因為我是要求 json type的回傳字串,

所以正常來說應該是這樣(如果只有一個物件)

[{"value0":"0","value1":"1"..."value10":"10"}]

代表此物件有11個變數可回傳,當然value0~value10及0~10都是可以自己更改的

只要在回傳後 ui.item 給對名字就好!

如果是多個物件的話則是長這樣

 [{"value0":"0","value1":"1"..."value10":"10"},{"value0":"0","value1":"1"..."value10":"10"},{"value0":"0","value1":"1"..."value10":"10"},...]

就是以大括號來區隔每一個物件,回傳時一樣讀取正確的名字

自然你有幾個物件, Autocomplete就有幾個選項可以選

至於要怎麼產生出這樣的字串就是靠自己功力了,

我自己就只是在 database loading 的前後加上中括號,

load中間每一行加上大括號,提供給各位看官參考看看。

2013年7月1日 星期一

蟑螂爆蛋

回想上禮拜五上班的時候,因為一直掛念不能刷的存摺

還一度以為是帳號被盜了還是凍結什麼的...整個人提心吊膽

到公司看到桌上有一兩隻很小很小的蟑螂...想說也不是第一次看到

正準備把它們殺掉的時候,突然紙張下面突然竄出一堆小小蟑螂

當場除了傻眼還是只有傻眼,但不管三七二十一還是抄起身旁的廢紙打下去

起初還以為是在桌上放了什麼吃的東西,但桌上就幾個茶包跟沒有破損的麥片包

 應該不太可能是桌上有食糧才引來蟑螂。


這時對面的同事就跟我說: "這一定是蟑螂爆蛋啦"

爆蛋?! 這種事怎麼可能會發生在我桌上?!

但仔細找一找,還真的在一張捲起來的廢紙裡面找到一個乾掉的蛋殼

當場只能說 (ㄍㄢˋ)  來表示我無言到極點的感受


幸運的是蟑螂媽媽在產卵後沒多久就在後面的置物櫃地板上被發現

可惜早已經死在某人的腳底下了XD

而小蟑螂也撲殺的差不多,至少我桌上沒有食物來源


不過讓我看到這景象實在是讓我提不起什麼工作感

所以下午就請假回家去搞存摺的事情了...放自己半天假也不錯
 

2013年6月25日 星期二

jQuery Library 改版

上禮拜主管交代要做一些事情之後,就消失了兩天,

只說了: "jQuery Library要改版,很簡單的!"

結果摸了之後才知道,根本就一堆東西都要改!!

先說一下原先的版本是 1.4.1 > 1.10.1 ,ui 的方面則是 1.8 > 1.10.3

光是看到版本上數字的差距就覺得...不是很妙。

不過人家都說很簡單了,我們就來試試看。

首先,先把 include 的地方改掉... Autocomplete 馬上死光...

好吧重新寫個 Autocomplete...後端資料來源不是 json 格式...

想說整個 Autocomplete 都重寫了,應該會過了吧...參數命名方式改變...

然後竟然 PostBack 會讓 Autocomplete 死光...要重新綁定...

原先的 $("#ID").attr("checked",True) 竟然被改成 attr > prop啊!

這就算了,連 $("#ID").Checked都從 True > Checked!

我只能說這改版真是要人命,幸好主管一向很慈(ㄐㄧㄢˋ)悲(ㄨㄤˋ)

原本禮拜一就要交出去的東西弄到禮拜三才給他,目前測試中。

只是想到之。後。還。要。再。繼。續。改

就覺得....不要這樣浪費時間好嗎~~~~~明明就一堆更重要的事情可以做!



由於此篇文章太沒營養,所以下面就教大家如何在目前最新版本上寫 Autocomplete

首先你可以先去參考 jQuery 官方網站的寫法,當然是可以 Work 的

因為我要改寫成從後端資料庫抓資料來,所以souce就改了一下

<script type="text/javascript">

function DeptAutoCompl() {

            $("#tbDept").autocomplete({
                //來源相關資料都包進去
                source: function (request, response) {
                    $.ajax({
                        //下面是我抓資料的副程式
                        url: "jGetAutoComSrc_Dept.ashx",
                        dataType: "json",
                        data: {
                            //以下是由客戶頁面端要傳送給url的參數名稱及資料
          // request.term代表你目前keyin的資料
                            q: request.term,
                            StdCode: $.trim($("#ddlChannel").val()),
                            SearchCol1: "DeptCode",
                            SearchCol2: "DeptName"
                        },
                        success: function (data) {
                            response(data);
                        }
                    });
                },
                //大小寫要注意,當初打成minlength就完全不會動
                minLength: 0,
     //下面代表 Autocomplete 的選項被選定後要做的行為
     //基本上就是把資料都抓出來填到 textbox 中
                select: function (event, ui) {
                    $(this).val(ui.item.value1 + " " + ui.item.value2);
                    $("#tbSalTel").val(ui.item.value3);
                    $("#tbSalFax").val(ui.item.value4);
                    $("#tbSolinoId").val(ui.item.value6);
                    $("#tbSolinoName").val(ui.item.value7);
                    $("#tbSolinoTel").val(ui.item.value8);
                    $("#tbSolinoExt").val(ui.item.value9);
                    $("#tbSolinoMobile").val(ui.item.value10);
                    $("#txtDeptCode").val(ui.item.value1);
                    if ($("#tbSalEmail").val() == "") {
                        $("#tbSalEmail").val(ui.item.value5);
                    }
                    //注意:有時候沒有 return false會不 work
                    return false;
                }
            })

</script>

控制項名稱的部分...就看官先自行理解...有問題再提出。

後端副程式的部分...待下回分解...因為怕貼上來看我自己眼睛都花了...XD