我正在使用datagridview控件。我想验证dataGridView以允许datagridview文本框单元格中的货币格式值,如123.00,123.50
。
这应该采用数值和一个。值。
答案 0 :(得分:0)
我过去使用的方式(以及我知道如何操作的唯一方法)是创建继承自DataGridViewTextBoxColumn和DataGridViewTextBoxCell的类,并在创建时使用派生类而不是DataGridViewTextBoxColumn作为ColumnType。网格。
这个link有一个如何在VB中执行此操作的示例。我不能发布我的C#代码,因为它是由我曾经工作的公司开发的,但VB代码基本相同。
答案 1 :(得分: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
答案 2 :(得分:0)