2

我有一个用于 asp.net ajax 的 Telerik 网格,其中 AllowAutomaticxxxx 属性设置为 true 并且 EditMode="EditForms"。主表视图用于部门,明细表用于功能。目前能够插入新的部门和功能,也可以编辑部门和功能。我正在为部门和职能使用必填字段验证器。现在我面临一个问题。打开一个编辑函数和一个插入分区时,验证器显示为重叠。我的意思是当它们同时打开时,当我编辑函数并单击更新按钮时,出现分区名称的验证器!我在网格中使用了 ajaxmanager 的另外 1 件事,我不确定这是否是问题所在。

4

1 回答 1

2

我通过在网格的 itemCreated 事件中为每个编辑和删除设置验证组解决了这个问题

   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
于 2012-11-27T09:37:14.377 回答