2018年10月24日 星期三

[CSS] !important CSS優先權問題

好吧,會遇到這個問題其實狀況都有點慘...
就像下圖,當CSS們繼承來繼承去,套過來又套過去,
驀然回首 ~ CSS們就長成這樣互蓋得很開心

你好我是CSS

沒發現這個狀況的你設定了某個CSS屬性,
卻發現怎麼樣也不動、無法覆蓋其他CSS的時候,你需要的是 !important

TextBox MultiLine狀態下關閉垂直捲軸

最近發現TextBox 設定MultiLine狀態下如果出現全半形混雜的狀況,會出現水平捲軸。
雖然增加字數後仍會自動換行,但會水平跟垂直捲軸會同時出現,搞得畫面很醜= =

這時候真的很想直接關閉水平捲軸,但又找不到TextBox內建的屬性來設定,
只好直接改寫CSS了!

.textarea
{
overflow-x: hidden; //水平捲軸
}

同理可證,要設定垂直捲軸就設定overflow-y的屬性;
如果想狠一點把水平跟垂直捲軸都關掉,就直接設定overflow的屬性就好了。

至於overflow系列各屬性設定出來的結果可以參考 w3schools

PS.w3schools 真是大家的良師益友啊 ~ 只不過要知道關鍵字會比較好找就是了!

2018年10月19日 星期五

[bootstrap]頁籤功能

基本上這個功能只要編輯.aspx頁面就可以了,其中只要留意:
  1. "active"/"in active"要設給預設顯示的頁籤/內容
  2. li href 與 div id 要互相對應
這樣就可以了,其他的都很直覺 ~ 真是太感人了OQ



                    <%--頁籤列--%>
                    <ul class="nav nav-tabs" style="clear: both; margin-bottom: 10px;">
                        <li class="active"><a data-toggle="tab" href="#menu1">頁籤1</a> </li>
                        <li class=""><a data-toggle="tab" href="#menu2">頁籤2</a> </li>
                        <li class=""><a data-toggle="tab" href="#menu3">頁籤3</a> </li>
                    </ul>
                    <div class="tab-content">
                        <%--頁籤 1 內容--%>
                        <div id="menu1" class="tab-pane fade in active">
                            1
                        </div>
                        <%--頁籤 2 內容--%>
                        <div id="menu2" class="tab-pane fade">
                            2
                        </div>
                        <%--頁籤 3 內容--%>
                        <div id="menu3" class="tab-pane fade">
                            3
                        </div>
                   </div>

2018年10月16日 星期二

[LINQ] LEFT JOIN / GROUP JOIN

GroupJoin 可以得到與Left Join相似的結果,接下來只要使用 Select過濾GroupJoin 中的內容就可以得到想要的結果。
(使用DefaultIfEmpty 因匿名型別無法輸出NULL(無法轉換成強型別),需特別注意Null的處理)


例:

Dim Query = _

            From oe In dt1.AsEnumerable _

            Group Join i In dt2.AsEnumerable _

            On oe.Field(Of String)("employeeid") Equals i.Field(Of String)("employeeid") Into Group _

            From p In Group.DefaultIfEmpty() _


            Select 部門 = oe.Field(Of Int32)("Dep"), _

                   員工 = oe.Field(Of String)("employeeid"), _

                   早餐 = If(p Is Nothing, "", p.Field(Of String)("早餐")), _

                   午餐 = If(p Is Nothing, "", p.Field(Of String)("午餐")), _

                   晚餐 = If(p Is Nothing, "", p.Field(Of String)("晚餐"))


//array1 LEFT JOIN array2
var q = array1
            .Join(array2,
                     a1 => ID,
                     a2 => a2.id,
                     (a1, a2) => new{
                                         A= a1.ID,
                                         B= a1.employee_id,
                                         a2
                                       })
            .Where(x => x.Date < DateTime.Now)
            .Select(x => x);

當欄位型態為 text 時空字串如何判斷

一般而言,判斷文字型態的值是否為空字串是使用 [欄位] = ''
但這種用法在欄位型態為 text 或 ntext 時會報錯
故可改用 DATALENGTH([欄位]) = 0 去判斷

2018年10月11日 星期四

SQL 取得異動資料列數

ExecuteNonQuery 方法只會返回整數值來表示成功或受影響的資料列數目。
所以要計算實際影響的資料列時,只要將ExecuteNonQuery 方法轉換成數值來計算就好了。

畢竟有時候會寫一些IF NOT EXISTS之類的指令,實在懶得先查詢要影響的列數,就可以使用這個方式直接計算就好了!


Dim intReturn As Integer = Convert.ToInt16(myCommand.ExecuteNonQuery())

If intReturn > 0 Then
         counter += 1
End If

[Excel] 日期(數值)轉文字

Excel的日期格式真的常常使人抓狂, 在使用者輸入日期後該欄位真正的值會被Excel轉換成一串數字, 這串數字代表著自1900/1/1到該日期的總天數。 但程式或使用者真正要的,就不是這串數字, 他們就是要日期!要日期!! So, 為了取得真正的值只好使用TEXT函數來解決了 ...