1

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);
        }

何か提案はありますか?

4

1 に答える 1