带验证器的telerik网格编辑似乎重叠

时间:2012-11-26 12:32:25

标签: asp.net telerik-grid editmode radajaxmanager

我有一个asp.net ajax的telerik网格,其AllowAutomaticxxxx属性设置为true,EditMode =“EditForms”。 mastertableview用于分部,详细信息表用于功能。目前我能够插入新的分区和功能,还可以编辑分区和功能。我正在使用必要的字段验证器来进行分区和功能。现在我正面临一个问题。当打开一个编辑功能和一个插入分区时,验证器显示为重叠.i意味着当它们同时打开时,当我编辑功能并单击更新按钮时,分区名称的验证器出现!! 我还使用了ajaxmanager进行网格的另外一件事,我不确定这是否是问题所在。

1 个答案:

答案 0 :(得分: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