改变页面DataGrid里某个textbox的值。点页面的一个按钮,回server端处理一些业务逻辑,但不操作db。然后画面重显并保持刚才修改的那个textbox里面的值。为了实现以上所说的值重显。俺在server端作了将DataGrid的值赋过给DataTable的事。问题来了:如果textbox里输入abc,并且DataTable相应的字段也是字符型,那没问题。
          但如果DataTable相应的字段是数字类型,就会出错了。不知道如何解决,在线等待,谢谢!

解决方案 »

  1.   

    问题楼主自己不是已经说了吗? 你把该列定义了是数字类型,然后硬往里面写入“abc”,这难道不是自相矛盾的事情吗???
      

  2.   

    DataTable相应的字段是数字类型,就会出错了
    ----------------------
    后台获取textbox.text值得时候需要将文本转化为数字,convert.toint32(textbox.text);
    当然textbox在提交到后台前可以加个验证控件验证一下输入的是数字。
      

  3.   

    页面不保存db的按钮是不check值的,所以可以输入任何字符。
      

  4.   

    为了实现以上所说的值重显。俺在server端作了将DataGrid的值赋过给DataTable的事。
    你不做这件事就行了
      

  5.   

    DataTable相应的字段是数字类型,就会出错了
    ----------------------
    后台获取textbox.text值得时候需要将文本转化为数字,convert.toint32(textbox.text);
    当然textbox在提交到后台前可以加个验证控件验证一下输入的是数字。
    ------------------------------------------------------------------
    但如果客户输入的是 abc ,又如何转成 数字类型呢?
      

  6.   

    为了实现以上所说的值重显。俺在server端作了将DataGrid的值赋过给DataTable的事。
    你不做这件事就行了
    ---------------------------------------------------------------------------
    不做这样的事,页面重显时DataGrid的值如何保持?
      

  7.   

    楼主.,.,你定义的类型全为字符类型不就可以了
    -------------------------------------------------
    DataTable是通过检索DB得到的,不是自己定义的。
      

  8.   

    但如果客户输入的是 abc ,又如何转成 数字类型呢?
    ----------------------------------
    你定义了column为数字类型,那么abc就是不合法的输入,不应该做任何操作,返回友好的提示信息即可。
      

  9.   

    但如果客户输入的是 abc ,又如何转成 数字类型呢?
    ----------------------------------
    你定义了column为数字类型,那么abc就是不合法的输入,不应该做任何操作,返回友好的提示信息即可。
    -------------------------------------------------------------------------
    上面说了,在项目的逻辑中规定:不操作DB的button是不做任何check的(包括client端和server端)。
      

  10.   

    虽然不操作DB,但要操作DataTable。例如 add 一个 newrow
      

  11.   

    上面说的那么详细都没什么说的了。 可以Convert.ToInt32(); 
    Convert.ToString(); 
    如果类型不匹配. try{}catch{} 来相应的其他处理好了。