2012-11-26 37 views
2

我有一個與asp.net ajax與AllowAutomaticxxxx屬性設置爲true和EditMode =「EditForms」的telerik網格。 mastertableview是分區和細節表是功能。目前我們可以插入新的分區和功能,還可以編輯分區和功能。我正在爲分部和功能使用必需的字段驗證程序。現在面臨一個問題。當打開一個編輯功能和一個插入部門時,驗證器顯示爲重疊。我的意思是當他們同時打開,當我編輯功能並單擊更新按鈕時,部門名稱驗證器出現! 還有一件事我已經使用ajaxmanager爲電網,我不知道這是否是問題。telerik網格編輯與驗證器似乎重疊

回答

2

我在網格的itemCreated事件設置爲的ValidationGroup每個編輯和刪除這樣的解決了這個問題

If TypeOf e.Item Is Telerik.Web.UI.GridEditableItem AndAlso e.Item.IsInEditMode Then 

     If "Divisions".Equals(e.Item.OwnerTableView.Name) Then 

      Dim rvDivisionName = DirectCast(e.Item.FindControl("rvDivisionName"), RequiredFieldValidator) 
      If TypeOf e.Item Is Telerik.Web.UI.GridEditFormInsertItem Then 
       rvDivisionName.ValidationGroup = "addDivisionRowValidation" 
       TryCast(TryCast(e.Item, Telerik.Web.UI.GridEditFormItem).FindControl("PerformInsertButton"), LinkButton).ValidationGroup = "addDivisionRowValidation" 
      Else 
       rvDivisionName.ValidationGroup = "editDivisionRowValidation" 
       TryCast(TryCast(e.Item, Telerik.Web.UI.GridEditFormItem).FindControl("UpdateButton"), LinkButton).ValidationGroup = "editDivisionRowValidation" 
      End If 
     ElseIf "Functions".Equals(e.Item.OwnerTableView.Name) Then 
      Dim rvFunctionName = DirectCast(e.Item.FindControl("rvFunctionName"), RequiredFieldValidator) 
      Dim rvFunctionRoleName = DirectCast(e.Item.FindControl("rvFunctionRoleName"), RequiredFieldValidator) 
      If TypeOf e.Item Is Telerik.Web.UI.GridEditFormInsertItem Then 
       rvFunctionName.ValidationGroup = "addFunctionRowValidation" 
       rvFunctionRoleName.ValidationGroup = "addFunctionRowValidation" 
       TryCast(TryCast(e.Item, Telerik.Web.UI.GridEditFormItem).FindControl("PerformInsertButton"), LinkButton).ValidationGroup = "addFunctionRowValidation" 
      Else 
       rvFunctionName.ValidationGroup = "editFunctionRowValidation" 
       rvFunctionRoleName.ValidationGroup = "editFunctionRowValidation" 
       TryCast(TryCast(e.Item, Telerik.Web.UI.GridEditFormItem).FindControl("UpdateButton"), LinkButton).ValidationGroup = "editFunctionRowValidation" 
      End If 
     End If 
    End If