0

自動生成された列を使用している場合、どのように入力検証を Gridview に追加できますか? 車のオブジェクトを含むリストがあります。グリッドビューはリストにバインドされています。グリッドビューには、追加および編集機能があります。そして、登録プレートなどのフィールドを検証する必要があります。検証コントロールを使用してそれを行うにはどうすればよいですか?

4

1 に答える 1

0

編集モードでGridViewになどの検証コントロールを追加することについて話していると仮定するとCompareValidator、GridViewのRowDataBoundイベントを使用してプログラムでバリデーターコントロールを追加できます。

ASP.NET

<asp:GridView ID="gv" runat="server" OnRowDataBound="gv_RowDataBound"...

C#

protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (gv.EditIndex == e.Row.RowIndex)
        {
            TextBox tb = e.Row.Cells[0].Controls[0] as TextBox; // get reference to your Control to validate (you specify cell and control indeces)
            tb.ID = "reg_" + e.Row.RowIndex; // give your Control to validate an ID

            CompareValidator cv = new CompareValidator(); // Create validator and configure
            cv.Operator = ValidationCompareOperator.GreaterThan;
            cv.Type = ValidationDataType.Double;
            cv.Display = ValidatorDisplay.Dynamic;
            cv.ErrorMessage = "<br/>Not a valid number";
            cv.ForeColor = Color.Red;
            cv.ControlToValidate = tb.ID;
            e.Row.Cells[0].Controls.Add(cv); // Add validator to GridView cell
        }
    }
}

編集している行で、バリデーターをリンクするコントロール(車の登録など)を参照できますTextBox。次に、IDを指定し、バリデーターを作成してそのControlToValidateプロパティをTextBoxIDとして指定してから、を含む同じセルにバリデーターを追加する必要がありますTextBox

TextBoxこの例は、aにDoubleのみを許可するように強制することを示しています。

于 2013-01-22T12:21:03.657 に答える