图片如上,具体要实现的功能如下:
gridview(gvOrder)是从数据库查询出来绑定的数据,现在客户只需要填写数量即可,然后金额可以根据单价自动计算出来,单价金额都是只读的,然后批量提交(成品编号,数量,单价,金额)填写了数量的成品到数据,没填写数量则不提交。
数量和金额都为textbox,其id分别为:tbNum,tbMoney,单价的话我是用FindControl取的。
数量要进行正则表达式验证,只能为float类型,autopostback=true,功能在textbox_Changed事件中(.cs)我已经部分实现,
未实现部分:对固定的某一行的话,正则验证、计算金额我都已经可以实现,用的是FindControl,但客户随便填写某一行,去针对这一行做正则验证、计算金额则还没有实现(即行号的问题),当然如果autopostback=false时可以用:
http://topic.csdn.net/u/20081023/08/0725dd04-b1ac-485e-a8a2-772142f30c6e.html
我发的另一个帖子,用js去实现,但autopostback我是必须设为true的,因为我还要对客户填写的数量到数据库中去比较库存,以及对总金额还要用存储过程作判断比较的。
这些问题解决以后我又该怎么去通过提交按钮提交这些填了数量的成品数据?提交的sql语句什么的我都会写,主要是要知道怎么个提交方法哈。
分不够可以加,希望能详细些,混分的就不要来了...
但是
引用:数量要进行正则表达式验证,只能为float类型,autopostback=true,功能在textbox_Changed事件中(.cs)我已经部分实现,
你不应该这么写,你这样不就破坏了你原先的设想 页面会刷新的 所以数量的验证还要用JS来控制的
<input name="test" onkeypress="return event.keyCode>=48&&event.keyCode<=57"
onpaste="var s=clipboardData.getData('text'); if(!/\D/.test(s)) value=s.replace(/^0*/,''); return false;" ondragenter="return false"
style="ime-mode:disabled" onkeyup="if(/(^0+)/.test(value))value=value.replace(/^0*/, '')">
这是限制输入数字的 防输入法等都有 自己看看
下面的我再斟酌下
你就用你自己说的这个取得要提交的那2列,然后更新(update)数据撒,估计要用到循环更新
可以用js正则验证,但autopostback设为true的话,js计算出来的金额就会没掉了哈,因为gvOrder会重新绑定(不知道我理解的对不对),另外保存订单前我还要对总金额与一个存储过程的返回值比较哈。
然后呢?提交?如何取得成品编号后面相对应得数据?
遍历gridview不就可以取道到了麽~