在DataGrid中引發驗證 -------Causesvalidation In Datagrid
來源:互聯網
上載者:User
datagrid Causesvalidation In Datagrid
在我們對Datagrid進行編輯的時候,我們可能要對使用者輸入的資料進行驗證,以確保資料的正確性、完整性。要解決這個問題有很多不同的方法,如:我們可以運用VS.NET當中的驗證控制項,如: RequiredFieldValidator 。這樣我們便需要 DataGrid中的 Update 按鈕引發驗證來檢驗使用者輸入的資料是否為空白。Update 按鈕包含一個CausesValidation 屬性。
Public Property CausesValidation() As Boolean
成員屬於: System.Web.UI.WebControls.LinkButton
摘要:
擷取或設定一個值,該值指示在單擊 System.Web.UI.WebControls.LinkButton 控制項時是否執行驗證。
我們可以利用這個屬性來自由控制一個webcontrol是否引發驗證。
DataGrid ItemDataBound 事件:
If (e.Item.ItemType = ListItemType.EditItem) Then
setUpdateCommandCausesValidation(e.Item, True)
End If
Private Function setUpdateCommandCausesValidation(ByVal item As DataGridItem, ByVal valor As Boolean) As String
If (item.HasControls()) Then
For Each celula As Control In item.Controls
For Each possibleButton As Control In celula.Controls
If (possibleButton.GetType().Name.Equals("DataGridLinkButton")) Then
Dim lbt As LinkButton = CType(possibleButton, LinkButton)
If (lbt.Text.Equals(getUpdateColumnText())) Then
lbt.CausesValidation = valor
Exit For
End If
End If
Next
Next
End If
End Function
Private Function getUpdateColumnText() As String
Dim text As String = ""
For Each coluna As DataGridColumn In DataGrid1.Columns
If (coluna.GetType().Name.Equals("EditCommandColumn")) Then
Dim colunaEdit As EditCommandColumn = CType(coluna, EditCommandColumn)
text = colunaEdit.UpdateText
Exit For
End If
Next
Return text
End Function