我正在使用 datagridview 控件。我想验证 dataGridView 以允许 datagridview 文本框单元格中的货币格式值,如123.00,123.50
. 那应该取数值和一个 . 价值。
问问题
671 次
3 回答
0
我过去使用的方法(也是我知道如何做的唯一方法)是创建从 DataGridViewTextBoxColumn 和 DataGridViewTextBoxCell 继承的类,并在创建网格时使用派生类而不是 DataGridViewTextBoxColumn 作为 ColumnType。
此链接有一个如何在 VB 中执行此操作的示例。我无法发布我的 C# 代码,因为它是由我曾经工作过的公司开发的,但 VB 代码基本相同。
于 2012-12-10T07:47:10.093 回答
0
你需要
1. There should be a decimal.
2. Only 2 digits after decimal
3. And there should be 2 such numbers separated by a comma(,)
这是代码:- aspx 文件
<asp:TextBox ID="txtMoney" runat="server" Width="100px" />
<asp:RequiredFieldValidator ID="rfvMoney" ValidationGroup="Insert" runat="server"
ControlToValidate="txtEmail" ErrorMessage="Please Enter value for money" ToolTip="Please Enter valid value for money"
SetFocusOnError="true" ForeColor="Red">*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="reMoney" runat="server" ControlToValidate="txtMoney"
ErrorMessage="Please Enter a Valid value for Money" ToolTip="Please Enter a Valid Value for money"
SetFocusOnError="true" ForeColor="Red" ValidationExpression="\d+([.])\d\d([,])\d+([.])\d\d"
ValidationGroup="Insert">*</asp:RegularExpressionValidator>
即 aspx.cs 文件后面的代码
if (e.CommandName.Equals("Insert"))
{
eInfo.money = ((TextBox)gvEG.FindControl("txtMoney")).Text;
new mainSQL().insertEmployeeInfo(eInfo); //My cs file for insert values to table
FillEmployeeGrid();
}
我已经在我的项目中尝试过这段代码,它工作正常。
这里的主要代码是正则表达式:
ValidationExpression="\d+([.])\d\d([,])\d+([.])\d\d"
在哪里
\d- denotes 1 digit
\d+ - one or many digits
\d\d - denotes only 2 digits
于 2012-12-10T08:56:13.733 回答