前言
有時我們會在GridView Template中使用CheckBox物件,Bind資料的Code如下,,可是如果IS_OK欄位的值為DBNULL OR 空字串時,要如何處理呢?
實作
1.是在RowDataBound事件中去Find出該CheckBox物件,然後讀取資料處理後,再Assign給CheckBox's checked值。
2.使用一個Protected Function來處理,如下:
ASPX:<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# ProcBoolean(Eval("IS_OK")) %>' />ASPX.VB:protected function ProcBoolean(byval vValue as Object) as Boolean If (vValue Is DBNull.Value) = False Then '........ Your Logic.... End If Return true 'or /false end function請注意哦! 那個Function的參數要用Object哦! 不然如果Bind進來的值是DBNull的話,會有錯誤哦!另外,如果是ASP.NET 1.1的DataGrid中使用方式如下(回傳字串),
ASPX:<asp:Label id="lblLevHR" runat="server" text='<%# ProcLevHour((Container.DataItem("LEVHR"))) %>' ></asp:Label>ASPX.VB:Protected Function ProcLevHour(ByVal vValue As Object) As String Dim result As String = String.Empty If (vValue Is DBNull.Value) = False Then '........ Your Logic.... End If Return result End Function
注意事項: