语句select * form tb1的查询结果是将数据库中的表tb1提出来放入dataview控件中显示,其中有13个字段是双精度,在数据库中它们的小数点后有9位之多,如何采用统一的办法将这13个字段的小数点保留4位显示在控件dataview中。最好不要逐个字段实现取位,那样太麻烦,希望用一个简单的办法实现。

解决方案 »

  1.   

    cast (字段 as decimal(9,4))
      

  2.   

    dataview绑定数据databinder.eval中本身就有可以执行format
      

  3.   

    这个有几种办法,第一种就是二楼说的,在查询数据库的时候就做截断,通过cast(ziduan as decimal(9,4))
    eg select case(ziduan1 as decimal(9,4)),case (ziduan2 as decimal(9,4)).....from tb1
    或者通过动态创建sql语句或者在绑定的事件里面,有一个每行绑定的时候触发的事件,好像叫做onitemdatabind吧,记不清楚了,太长事件没有用了,那个里面获取所有的数据,然后通过math.round方法来进行操作,或者查询数据库,然后返回一个datatable,然后便利datatable,通过math.round方法来截取,然后绑定datatable到控件上就行了
      

  4.   

    在数据库中cast (字段 as decimal(18,4))
    或是在gridview中用format都应该是可以的。
      

  5.   


    那要对13个字段都写cast,有没有更简便的方法