我在验证 RadGrid 中的列时遇到了一个非常烦人的问题。在编辑模式下(IN PLACE),我希望在按下图像按钮提交时验证一列。
问题是我的 GridTextBoxColumnEditor 向上移动只是为了在验证失败时为错误消息腾出空间。因此,当加载编辑表单时,控件具有不同的垂直位置。我认为应该可以向上移动 GridTextBoxColumnEditor 并仅在验证失败时显示消息。然后所有控件都得到正确的对齐。我试图在 InsertCommand 事件中创建验证器,但没有奏效。在下面你可以看到我的代码:
protected void gridReports_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem editedItem = e.Item as GridEditableItem;
GridTextBoxColumnEditor editor = null;
if (editedItem["description"].Text == " ")
{
editor = (GridTextBoxColumnEditor)editedItem.EditManager.GetColumnEditor("description");
TableCell cell = (TableCell)editor.TextBoxControl.Parent;
RequiredFieldValidator validator = new RequiredFieldValidator();
validator.ControlToValidate = editor.TextBoxControl.ID;
validator.ErrorMessage = "Field is mandatory!";
cell.Controls.Add(validator);
}
你们有什么建议吗?