正規表現で前0後0をtrimします。

使い方
TrimSmallNumberZero(0)→0
TrimSmallNumberZero(0001)→1
TrimSmallNumberZero(001.0000)→1
TrimSmallNumberZero(0000.1000)→0.1


'-----------------------------------------------------------------------
' Function outline : 少数点以下末尾の0を削除する関数
' 0002.050000→2.05
'
' argument   : str – 変換対象文字列
'
' return value : 変換後の文字列
'
'-----------------------------------------------------------------------
Public Shared Function TrimSmallNumberZero(ByVal strVal As String) As String

Dim strRegexReplaceHead As String = ""
Dim strRegexReplaceEnd As String = ""

Dim strRegexMatch As String = "^[\-]?[0-9]+\.[0-9]+$"
Dim matchFlg As Match = Regex.Match(strVal, strRegexMatch)

If matchFlg.Success Then
'少数
strRegexReplaceHead = "^0+(?=[0-9]+\.)"
strRegexReplaceEnd = "0+$|\.0+$|\.$"
Else
'整数
strRegexReplaceHead = "^0+(?=0$)|^0+(?=[0-9]+$)"
End If

strVal = Regex.Replace(strVal, strRegexReplaceHead, "")
strVal = Regex.Replace(strVal, strRegexReplaceEnd, "")

Return strVal

End Function
ドロップダウンリストにjavascript:OnChangeコマンドを追加

DropDown1.Attributes("onChange") = _
"javascript:if(this.value=='1'){return confirm('削除してもよろしいでしょうか?')}"
DropDownListの先頭行に行追加
----------------------------------------------------------------------
DropDownList.Items.Insert(0, New ListItem("選択してください", "0"))
DropDownList.Items.Insert(0, New ListItem("東京", "1"))
----------------------------------------------------------------------

例)DropDownList.Items.Insert(0, New ListItem("東京", "1"))
0:追加位置
"東京":表示
"1":value
ViewStateの反映のタイミングについて

<Page_Load中>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ViewState("mg_cd") = "123456"
Dim a As String = CStr(ViewState("mg_cd"))
→aのvalueはNothing
End Sub

<Pre_Render中>
Protected Sub Pre_Render(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
Dim a As String = CStr(ViewState("mg_cd"))
→aのvalueは"123456"
End Sub
トランザクション利用時のISOLATIONレベル

■IsolationLevel.Chaos


■IsolationLevel.ReadCommitted
 コミット済み読み取り
 コミット済みのデータしか読み取らないモード
 ※SQL Serverのデフォルト

■IsolationLevel.ReadUncommitted
 非コミット読み取り
 対象となるオブジェクトに対するトランザクションが完了していなくても、現在の最新状態を読み取るモード

■IsolationLevel.RepeatableRead
 再読み込み可能読み取り
 対象となるすべてのテーブルの対象データがトランザクション実行中に変更されないことを保証します。
 ただし、トランザクションの対象となるテーブルに新規にデータが追加されたり、対象ではないデータが削除されたりすることは防止しません。

■IsolationLevel.Serializable
 直列化
 トランザクションが完全に実行を完了するまで、対象となったオブジェクトを完全にロックし、ほかのトランザクションからのデータの挿入や更新を不可能にします。
 トランザクションが並行することなく順に実行されることから、「直列化」とと呼ばれています。

■IsolationLevel.Snapshot
 データを読み込む時に、ロックを要求しないことで、高速なデータアクセスを提供する。
 それぞれのトランザクションが開始される際、コミットされたデータのスナップショットを受け取り、ほかのトランザクションによる変更が見えないように動作する。

■IsolationLevel.Unspecified
ケーキ01 文字位置を取得する
'検索対象文字列
Dim strName As String = "あいうえおえういあ"

'検索する文字
Dim strSearchChar As String = "う"

'文字位置を取得する
Dim intP As Integer= strName.IndexOf(strSearchChar)

ケーキ01 文字列からの切り出し
 ■LEFT
Dim strCd As String = Left("abcde", 2)
→ab
以下と同じ
----------------------------------------------
Dim str As String = "abcde"
Dim strCd As String = str.Substring(0, 2)
----------------------------------------------

 ■RIGHT
Dim strStatus As String = Right("abcde", 1)
→e
----------------------------------------------
Dim str As String = "abcde"
Dim strCd As String = str.Substring(4)
----------------------------------------------

■MID
Dim strCd As String = Mid("abcde", 2, 2)
 →bc
----------------------------------------------
Dim str As String = "abcde"
Dim strCd As String = str.Substring(1,2)
----------------------------------------------

Substringメソッドでは開始位置のインデックス番号が0から始まるのに対して、Mid関数では1から始まる点には注意が必要である。Mid 関数がこのような仕様になっているのは、Visual Basic 6.0以前のバージョンのMid関数がそうだったため

また、.NETでは文字列はすべてUnicodeである。このため、文字列を明示的にUnicodeとして処理するために提供されていた RightB関数、MidB関数、LeftB関数は、VB.NETではもはやサポートされていない。
#RowCreatedイベントでCommandArgumentをセットすると、PostBackした場合でも値が取得できる
Protected Sub grv_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grv.RowCreated

If e.Row.RowType.Equals(DataControlRowType.DataRow) Then
Dim btn As Button = CType(e.Row.FindControl("btn"), Button)
btn.CommandArgument = e.Row.RowIndex.ToString
End If
End Sub


#RowDataBoundイベントでCommandArgumentをセットすると、PostBackした場合でも値が消える
Protected Sub grv_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grv.RowDataBound

If e.Row.RowType.Equals(DataControlRowType.DataRow) Then
Dim btn As Button = CType(e.Row.FindControl("btn"), Button)
btn.CommandArgument = e.Row.RowIndex.ToString
End If

End Sub

※TempleteFieldの場合のみ