1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

一段源代码

本帖由 沉默是金2006-12-02 发布。版面名称:源码讨论

  1. 沉默是金

    沉默是金 New Member

    注册:
    2006-11-23
    帖子:
    18
    赞:
    0
    解压缩后将文件放在webshop3.0工程目录( PROJECTS)用webshop打开。
    使用软件的下载地址:http://cn.joyistar.com
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

    <title></title>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/System.js"></SCRIPT>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/DataSet.js"></SCRIPT>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/Control.js"></SCRIPT>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/DBControl.js"></SCRIPT>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/DBNavigator.js"></SCRIPT>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/DBPageNavigator.js"></SCRIPT>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/DBGrid.js"></SCRIPT>
    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/DBRadioGroup.js"></SCRIPT>

    </head>
    <BODY onload='afterload();'>
    </BODY>
    </html>


    <SCRIPT language=JavaScript type="text/javascript">

    function afterload(){
    init();
    }

    function init(){
    window.VirtualPath="/testquery";
    window.DataSet1=new DataSet();
    var Field1 = new Field("PRODUCT_ID","System.String");
    var Field2 = new Field("PRODUCT_NAME","System.String");
    var Field3 = new Field("PRODUCT_PRICE","System.Single");
    var Field4 = new Field("PRODUCT_AREA","System.String");
    window.DBGrid1=new DBGrid();
    window.DBNavigator1=new DBNavigator();
    window.DBEdit1=new DBEdit();
    window.DBEdit2=new DBEdit();
    window.DBEdit3=new DBEdit();
    window.DBEdit4=new DBEdit();
    window.DBLabel1=new DBLabel();
    window.DBLabel2=new DBLabel();
    window.DBLabel3=new DBLabel();
    window.DBLabel4=new DBLabel();
    DataSet1.Name='DataSet1';
    DataSet1.MaxRows=5;
    DataSet1.OpenURL='NewDotNet.aspx';
    DataSet1.Async=true;
    Field1.Name='Field1';
    Field1.Type='System.String';
    Field1.FieldName='PRODUCT_ID';
    Field2.Name='Field2';
    Field2.Type='System.String';
    Field2.FieldName='PRODUCT_NAME';
    Field3.Name='Field3';
    Field3.Type='System.Single';
    Field3.FieldName='PRODUCT_PRICE';
    Field4.Name='Field4';
    Field4.Type='System.String';
    Field4.FieldName='PRODUCT_AREA';
    DBGrid1.Name='DBGrid1';
    DBGrid1.style.height='225';
    DBGrid1.style.width='422';
    DBGrid1.style.position='absolute';
    DBGrid1.style.left='19';
    DBGrid1.style.top='145';
    DBGrid1.DataSet=DataSet1;
    DBNavigator1.Name='DBNavigator1';
    DBNavigator1.style.height='26';
    DBNavigator1.style.width='656';
    DBNavigator1.style.position='absolute';
    DBNavigator1.style.left='10';
    DBNavigator1.style.top='89';
    DBNavigator1.DataSet=DataSet1;
    DBEdit1.Name='DBEdit1';
    DBEdit1.value='DBEdit1';
    DBEdit1.style.height='27';
    DBEdit1.style.width='91';
    DBEdit1.style.position='absolute';
    DBEdit1.style.left='552';
    DBEdit1.style.top='147';
    DBEdit1.DataSet=DataSet1;
    DBEdit1.DataField='PRODUCT_ID';
    DBEdit2.Name='DBEdit2';
    DBEdit2.value='DBEdit1';
    DBEdit2.style.height='25';
    DBEdit2.style.width='91';
    DBEdit2.style.position='absolute';
    DBEdit2.style.left='553';
    DBEdit2.style.top='211';
    DBEdit2.DataSet=DataSet1;
    DBEdit2.DataField='PRODUCT_NAME';
    DBEdit3.Name='DBEdit3';
    DBEdit3.value='DBEdit1';
    DBEdit3.style.height='25';
    DBEdit3.style.width='91';
    DBEdit3.style.position='absolute';
    DBEdit3.style.left='553';
    DBEdit3.style.top='272';
    DBEdit3.DataSet=DataSet1;
    DBEdit3.DataField='PRODUCT_PRICE';
    DBEdit4.Name='DBEdit4';
    DBEdit4.value='DBEdit1';
    DBEdit4.style.height='25';
    DBEdit4.style.width='91';
    DBEdit4.style.position='absolute';
    DBEdit4.style.left='554';
    DBEdit4.style.top='338';
    DBEdit4.DataSet=DataSet1;
    DBEdit4.DataField='PRODUCT_AREA';
    DBLabel1.Name='DBLabel1';
    DBLabel1.value='DBLabel1';
    DBLabel1.style.height='26';
    DBLabel1.style.width='75';
    DBLabel1.style.position='absolute';
    DBLabel1.style.left='464';
    DBLabel1.style.top='148';
    DBLabel1.innerHTML='ID';
    DBLabel2.Name='DBLabel2';
    DBLabel2.value='DBLabel1';
    DBLabel2.style.height='26';
    DBLabel2.style.width='75';
    DBLabel2.style.position='absolute';
    DBLabel2.style.left='464';
    DBLabel2.style.top='210';
    DBLabel2.innerHTML='NAME';
    DBLabel3.Name='DBLabel3';
    DBLabel3.value='DBLabel1';
    DBLabel3.style.height='26';
    DBLabel3.style.width='75';
    DBLabel3.style.position='absolute';
    DBLabel3.style.left='464';
    DBLabel3.style.top='270';
    DBLabel3.innerHTML='PRICE';
    DBLabel4.Name='DBLabel4';
    DBLabel4.value='DBLabel1';
    DBLabel4.style.height='26';
    DBLabel4.style.width='75';
    DBLabel4.style.position='absolute';
    DBLabel4.style.left='464';
    DBLabel4.style.top='338';
    DBLabel4.innerHTML='AREA';
    DataSet1.Fields.Add(Field1);
    DataSet1.Fields.Add(Field2);
    DataSet1.Fields.Add(Field3);
    DataSet1.Fields.Add(Field4);
    DataSet1.Fields.Auto = false;
    DataSet1.Open();
    }
    </SCRIPT>

    <SCRIPT language=JavaScript type="text/javascript" SRC="jcl/DateTimeInput.js"></SCRIPT>


    Imports System
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Configuration
    Imports System.Collections
    Imports System.Web
    Imports System.Web.Security
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Web.UI.WebControls.WebParts
    Imports System.Web.UI.HtmlControls
    Imports joyistar.eip.util
    Imports joyistar.eip.vo

    Partial Class NewDotNet
    Inherits System.Web.UI.Page
    Private connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\db\\demo.mdb"
    Private sql As String = "select * from product"

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Response.ContentType = "text/xml"
    Dim xml As String = HttpParser.getXML(Request.InputStream)
    Dim xmlrequest As XmlRequest = New XmlRequest()
    Try
    xmlrequest.Open(xml)

    Dim conn As Data.OleDb.OleDbConnection = New Data.OleDb.OleDbConnection(connString)
    conn.Open()
    Dim cmd As Data.OleDb.OleDbCommand = New Data.OleDb.OleDbCommand(sql, conn)
    Dim reader As Data.OleDb.OleDbDataReader = cmd.ExecuteReader()
    Dim metadata As Data.DataTable = reader.GetSchemaTable()

    'fill fields
    For Each row As DataRow In metadata.Rows
    If row("DataType").Equals("STRING") Then
    xmlrequest.AddField(System.Convert.ToString(row("ColumnName")), System.Convert.ToInt32(row("DataTyp")), System.Convert.ToInt32(row("ColumnSize")))
    Else
    xmlrequest.AddField(System.Convert.ToString(row("ColumnName")), System.Convert.ToString(row("DataType")))
    End If
    Next
    'fill data
    While reader.Read()
    xmlrequest.Append()
    For Each row As DataRow In metadata.Rows
    Dim fieldname As String = System.Convert.ToString(row("ColumnName"))
    Dim fieldvalue As String = reader(fieldname).ToString()
    xmlrequest.SetValue(fieldname, fieldvalue)
    Next
    End While
    Response.Write(xmlrequest.GetXml())
    Response.Flush()
    Catch ex As Exception
    xmlrequest.SetError(ex.Message)
    Response.Write(xmlrequest.GetXml())
    Response.Flush()
    End Try
    End Sub
    End Class
    :heart: :heart: :heart:
     
  2. 禄林客服

    禄林客服 New Member

    注册:
    2006-07-08
    帖子:
    166
    赞:
    1
  3. 沉默是金

    沉默是金 New Member

    注册:
    2006-11-23
    帖子:
    18
    赞:
    0
    怎么用javascript做数据的格式化

    作者:老K
    我们在项目中都有用过金额数字及日期等数据格式化输出显示,比如前面加上“¥”,数值取小数点后两位,短日期时间等。一般的高级语言及开发工具都有提供相应的转换函数如format之类,可是我在最近做web网上银行相关的系统时,却遇到这个很麻烦的问题,就是javascript不提供这种format函数,查了些资料,知道vbscript是有格式化函数的,可是vbscript是微软专用的,无奈只好用正则表达式,可正则表达式也不能够很通用地解决各种类型转换问题,真的是很郁闷,无意中找到看到一个AJAX开发工具的演示,看到它的数据有显示“¥”和数值小数点后两位格式化,马上下载了看了下,发现它居然是用javascript+XSL实现了通用的格式化函数,下载AJAX WebShop后,我找到它的system.js这个文件,打开找到以下函数:
    function FormatFloat(value,mask)
    {
    return BasicFormat(value,mask,'FormatNumber')
    }
    function FormatDate(varDate, bstrFormat, varDestLocale)
    {
    return BasicFormat(varDate,bstrFormat,'FormatDate',varDestLocale);
    }
    function FormatTime(varTime, bstrFormat, varDestLocale)
    {
    return BasicFormat(varTime,bstrFormat,'FormatTime',varDestLocale);
    }
    function BasicFormat(value,mask,action,param)
    {
    var xmlDoc;
    var xslDoc;
    var v='<formats><format><value>'+value+'</value><mask>'+mask+'</mask></format></formats>';
    xmlDoc=parseXML(v);

    var x;
    if(isIE)
    x='<xsl:stylesheet xmlns:xsl="uri:xsl">'
    else
    x='<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">';
    x+='<xsl:template match="/">';
    if(isIE) {
    x+='<xsl:eval>'+action+'('+value+',"'+mask+'"';
    if(param)x+=','+param;
    x+=')</xsl:eval>';
    }
    else
    x+='<xsl:value-of select="format-number('+value+',\''+mask+'\')" />';

    x+='</xsl:template></xsl:stylesheet>';
    xslDoc=parseXML(x);
    var s;
    if(isIE)
    s= xmlDoc.transformNode(xslDoc)
    else{
    //for mozilla/netscape
    var processor = new XSLTProcessor();
    processor.importStylesheet(xslDoc);
    var result = processor.transformToFragment(xmlDoc, xmlDoc);
    var xmls = new XMLSerializer();
    s = xmls.serializeToString(result);
    }
    return s;
    }
    看来他们对xsl用得可真是出神入化了,居然这样就可以实现很通用的格式化转换了,当然不客气了,直接加到我的函数库中哈。
    这个代码偶没有看得很懂,不过确实很管用,请对XSL精通的朋友分析下也好让我们学习下。