C#中如何让DataGridViewCell中只能输入数字和小数点?
发布网友
发布时间:2024-10-24 01:12
我来回答
共2个回答
热心网友
时间:2024-11-06 00:42
一楼的说的牛头不对马嘴的~~~
楼主问的是winform编程,不是webform,你见过webform里有DataGridView这个控件吗~?
楼主,你可以在DataGridView的onkeypress事件中(或onkeydown事件)去检测用户按的按键是数字~,如果不是就取消按键事件~~~
热心网友
时间:2024-11-06 00:44
模板列里这么写
<EditItemTemplate>
<asp:TextBox ID="TextBox2" name="TextBox2"runat="server" Text='<%# Bind("id") %>' onblur="flt(this);"></asp:TextBox>
</EditItemTemplate>
javascript事件。
<script type="text/javascript" >
function flt(obj)
{
if(obj.value.search(/^[0-9\.]+$/)==-1)
{
alert("只能输入数字或小数!\n");
obj.value="";
obj.focus();
obj.select();
}
}
</script>
没做测试,不过这么写应该是可以的。之所以没用onkeypress是因为onkeypress没有办法屏蔽汉字,你试一下就知道了。
-------------------------------------------
DataGridView在B/S结构没有没有么?没细看,我以为是gridview呢?
winform 结构其实也是差不多的。
先引用一个regex类
using region.Regular.Expression;
在CellValueChanged事件里写
string str=当前你所选定的cell的值;
Regex rx = new Regex(@"^[0-9]*(.)?[0-9]+$", RegexOptions.IgnoreCase);
bool yz=rx.IsMatch(str);
if(!yz)
{
MessageBox.show("不是标准的浮点数格式!");
}
一样,没做测试,不过应该是好使的,现在陪媳妇在网吧,写东西不方便。cell值的取法就自己写吧,验证应该是没问题的。另外说错了没有关系。回复就是勇气。^_^