图片如上,具体要实现的功能如下:
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语句什么的我都会写,主要是要知道怎么个提交方法哈。
分不够可以加,希望能详细些,混分的就不要来了...

解决方案 »

  1.   

    首先,昨天我也看了你的帖子 别人也给你回复了  而且你的意思就是运算都在客户端完成
    但是
    引用:数量要进行正则表达式验证,只能为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.   

    "tbNum,tbMoney,单价的话我是用FindControl取的。 "]
    你就用你自己说的这个取得要提交的那2列,然后更新(update)数据撒,估计要用到循环更新
      

  3.   

    网页不会刷新频繁的,因为我用ajax的效果给出一个提示框而已,库存不足的话把用户刚才输入的清掉,只不过可能和数据库交互会频繁一些。
    可以用js正则验证,但autopostback设为true的话,js计算出来的金额就会没掉了哈,因为gvOrder会重新绑定(不知道我理解的对不对),另外保存订单前我还要对总金额与一个存储过程的返回值比较哈。
      

  4.   

    别用GridView了,用table就行了,用js实现
      

  5.   

    ajax阿 那倒是可以和服务器交互的
    然后呢?提交?如何取得成品编号后面相对应得数据?
    遍历gridview不就可以取道到了麽~
      

  6.   

    用table???那你怎么进行从后台取数据放到上面去?怎么进行后台存储过程的比较?怎么保存到数据库?恕小弟不才...
      

  7.   

    这位兄弟应该说的是Table服务器控件 不是HTML控件  应该也可以实现的
      

  8.   

    哦,那没用过,我看看先,不过最好暂时所有的讨论还是以gridview为主吧,我对这个稍微熟悉以点。