十一月 23
在GridView中如果想要在滑鼠移動時,滑鼠所指到的那一列會變色的話可以用JavaScript來達成
效果就像下面的圖所示,滑鼠所指到的那一列會變成亮黃色,移開後再還原成原本的顏色

BR>

以下為程式碼片段,於RowDataBound的事件中綁定JavaScript到Row中
Private Sub GridView1_RowDataBound(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
Handles GridView1.RowDataBound
'滑鼠移入移出效果。
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor;")
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor; this.style.backgroundColor='#ffff40';")
End If
End Sub
十一月 13
什麼是擴充方法(Extension Method)呢?
簡單的說就是可以讓你自已擴充用的東西(有說跟沒說一樣.....)
不用把擴充方法想的太難,它其實也是很平易近人的
在寫程式的時候,在字串的後面點(.)下去,會跑出一堆方法讓你使用,最常見的就是ToString()
那麼我們要如何自行設計一個屬於自己的方法呢(結果如下圖)?其實不難

下程的範例程式(專案打包點我下載),研究一下應該就可以懂了
首先撰寫要自訂擴充的方法 ModuleExt.vb
這邊需要注意的地方,在於傳入的參數型態
如果傳入的參數型態是Integer,那麼只有型態是Integer的點下去才會出這個自訂的Method
如果想要任何型態點下去,都會帶出現我們自定的Method,
那麼就把型態定為Object就可以了(如本例的AddString)
Imports System.Runtime.CompilerServices
Namespace ExtensionMethods
Module OtherExtensions
''' <summary>
''' 英文字首轉大寫
''' </summary>
<Extension()> _
Public Function ToUpperFirstWord(ByVal src As String) As String
If src.Length >= 1 Then
Dim FirstWord As String = src.Substring(0, 1).ToUpper
src = src.Remove(0, 1).Insert(0, FirstWord)
End If
Return src
End Function
<Extension()> _
Public Function ToPerCent(ByVal src As Double) As String
Return src * 100 & "%"
End Function
<Extension()> _
Public Function AddString(ByVal src As Object) As String
Return src & " New AddString"
End Function
End Module
End Namespace
接下來則是在要使用的程式頁面引用之前所寫的Extension
Imports ConsoleApplicationTEST.ExtensionMethods.OtherExtensions
Module Module1
Sub Main()
Dim test As String = "abcd"
'Output: Abcd
Console.WriteLine(test.ToUpperFirstWord)
'Output: abcd New AddString
Console.WriteLine(test.AddString)
'Output: Abcd New AddString
Console.WriteLine(test.ToUpperFirstWord.AddString)
'Output: 50%
Dim testint As Double = 0.5
Console.WriteLine(testint.ToPerCent)
Console.ReadLine()
End Sub
End Module
相關文章:
何謂擴充方法 (Extension method )?
C# 3.0 初體驗:Extension Method
[C#] 3.0 中的新功能 - 擴充方法(Extension Method)