none
TDC中Float类型的显示为什么把"0.23"前面的0去掉了啊? RRS feed

  • 常规讨论

  •  

    我在用TDC做web应用的时候发现,如果不将列设置为Float类型,则排序上会有问题,比如升序的时候1.1会在99之后。我的环境是IE6、XP sp2

     

    现在将数据贴如下:

    1.txt内容:

    序号`个人编号`姓名`核定流水号`做帐期号`发放类型`养老待遇支付项目`原养老待遇金额:Float ?.00`养老保险支付人员类别`待遇发放方式`银行行号`账号`核定方式`社会化管理机构编号`社区编号`支付流水号`财务接口流水号`支付标志`财务支付时间`社保经办机构
    1`011308772`马娟芬`100000000000751`200601`正常发放`综合补贴`1.52`退休待遇支付`银行发放`工行青羊宫分理处`4402218001105487139`首次发放```````锦江区`
    2`011308790`王德君`100000000000751`200601`正常发放`退休费`99`退休待遇支付`银行发放`工行青羊宫分理处`4402218001008935580`首次发放```````锦江区`
    3`011308793`王仕兴`100000000000751`200601`正常发放`退休费`531.8`退休待遇支付`银行发放`工行青羊宫分理处`4402218001008886774`首次发放```````锦江区`
    4`011308801`肖亚伦`100000000000751`200601`正常发放`基础养老金`0.63`退休待遇支付`银行发放`工行青羊宫分理处`4402218001009209725`首次发放```````锦江区`
    5`011309205`方万荣`100000000000751`200601`正常发放`过渡性养老金`530.9`退休待遇支付`单位发放```首次发放```````锦江区`

    测试的test.htm文件内容如下:

    <html><body>
     <OBJECT ID="SomeID" width=0 height=0 CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
       <PARAM NAME="DataURL" VALUE="ic14QueryAction.txt">
       <PARAM NAME="UseHeader" VALUE="TRUE">
       <PARAM NAME="FieldDelim" VALUE="`">
    </OBJECT>
    <script language=javascript >
    var s = "序号|个人编号|姓名|核定流水号|做帐期号|发放类型|养老待遇支付项目|原养老待遇金额|养老保险支付人员类别|待遇发放方式|银行行号|账号|核定方式|社会化管理机构编号|社区编号|支付流水号|财务接口流水号|支付标志|财务支付时间|社保经办机构";
    var a = s.split("|");
    var out = document.write;
    out("<table datasrc=#SomeID Datapagesize=10 border=1 ID=Table1><THEAD><tr>");

    var sn = "";
    for(var i = 0; i < a.length; i++)
    {
       out("<th onclick=\"fnMySort(this)\">" + aIdea + "</th>");
       sn += "<td nowrap><span onclick=\"this.contentEditable=true\" datafld=\"" + aIdea + "\"></span>&nbsp;</td>";
    }

    out("</tr></THEAD><tbody><tr>")
    out(sn);
    out("</tr></tbody></table>"); 
    // function

    // 参与排序的字段
    var g_szarrCols = [];
    // 过滤
    var g_szarrFlts = [];
    // 排序
    function fnMySort(o)
    {
       var d = "";
      
       var t = o.innerText;
       if(!g_szarrCols[t])
          g_szarrCols[t] = "+";
       else
       {
          if("+" == g_szarrCols[t])
              g_szarrCols[t] = "-";
          else
              g_szarrCols[t] = "+";      
       }
       d = o.title = g_szarrCols[t];
      
       var s = "";
       for(t in g_szarrCols)
       {
         if("" != g_szarrCols[t])
           s += g_szarrCols[t] + t + ",";    
       }
       s = s.substr(0, s.length - 1);
       SomeID.sort = d + o.innerText;// s;
       SomeID.reset()
       document.title = s
    }


    function firstPage()
    {
      Table1.firstPage( );
      SomeID.recordset.MoveFirst();
      curpos.value = SomeID.recordset.absoluteposition;
    }

    function previousPage()
    {
      Table1.previousPage( );
      if(1 < SomeID.recordset.AbsolutePage)SomeID.recordset.AbsolutePage--;  curpos.value = SomeID.recordset.absoluteposition;

    function nextPage()
    {try{
      Table1.nextPage( );
      if(SomeID.recordset.PageCount > SomeID.recordset.AbsolutePage)SomeID.recordset.AbsolutePage++;
      curpos.value = SomeID.recordset.absoluteposition;
      }catch(e){document.title = e.message}

    function lastPage()
    {
      Table1.lastPage( );
      SomeID.recordset.MoveLast();
      curpos.value = SomeID.recordset.absoluteposition;
    }
    </script>
    <input type="text" onchange="Table1.dataPageSize = this.value">
    <input type="text" id="curpos">
    <button onclick="firstPage()">首页</button>&nbsp;
    <button onclick="previousPage()">上一页</button>&nbsp;
    <button onclick="nextPage()">下一页</button>&nbsp;
    <button onclick="lastPage()">尾页</button></div>
    </body></html>

     

    你会发现界面上的"0.63"显示成了".63",这时候排序是正常的

    但是如果去了":Float"后,将排序不正确,不知道如何解决?

    2007年9月26日 5:00