私は datagridview コントロールを使用しています。dataGridView を検証して、 datagridview のテキスト ボックス セルのような値を money 形式で許可したいと考えています123.00,123.50
。それは数値と 1 つを取る必要があります。価値。
質問する
671 次
3 に答える
0
私が過去に使用した方法 (およびその方法を知っている唯一の方法) は、DataGridViewTextBoxColumn および DataGridViewTextBoxCell から継承するクラスを作成し、グリッドを作成するときに DataGridViewTextBoxColumn の代わりに派生クラスを使用することです。
このリンクには、VB でそれを行う方法の例があります。私のC#コードは以前勤めていた会社が開発したものなので投稿できませんが、VBコードは基本的に同じです。
于 2012-12-10T07:47:10.093 に答える
0
ユーザー入力をリアルタイムで検証したいように見えるので、それを行うための最善かつ効果的な方法は、MaskedtextBox
. この記事では、その方法を示します。そして、そこでフォーマットを指定できます。マスク要素については、このMSDN の投稿を参照してください。
于 2012-12-10T10:37:44.533 に答える
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 に答える