如果您使用自动生成的列,如何向 Gridview 添加输入验证?我有一个包含汽车物品的清单。网格视图绑定到列表。gridview 具有添加和编辑功能。而且我必须验证注册牌等字段。如何使用验证控制来做到这一点?
问问题
1552 次
1 回答
0
假设您正在谈论CompareValidator
在 GridView 处于编辑模式时向其添加验证控件(例如 a),您可以使用 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
属性指定为TextBox
ID,然后将验证器添加到包含你的TextBox
.
此示例显示强制 aTextBox
只允许双打。
于 2013-01-22T12:21:03.657 回答