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值的取法就自己写吧,验证应该是没问题的。另外说错了没有关系。回复就是勇气。^_^

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com