乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      辦公之星控件OA應(yīng)用開發(fā)方案

       shamo9966 2010-07-25

      辦公之星控件(http://www.),作為一個優(yōu)秀的圖文混排控件,在B/S架構(gòu)系統(tǒng)中應(yīng)用得非常廣泛。作為表示層,它可以很好的呈現(xiàn)圖文混排的文檔、各種復(fù)雜的報表、也可以作為數(shù)據(jù)采集錄入的界面,有效的解決了B/S架構(gòu)系統(tǒng)中客戶端的文檔顯示和打印問題。在實際工作中,我們經(jīng)常碰到這種場合:文檔樣式不變,其中的數(shù)據(jù)(包括圖片)允許發(fā)生變化,點(diǎn)擊“上一個”、“下一個”按鈕可進(jìn)行數(shù)據(jù)瀏覽。數(shù)據(jù)用數(shù)據(jù)庫組織顯然是最棒的,那么辦公之星控件如何在文檔中顯示來源于數(shù)據(jù)庫的數(shù)據(jù)?如何上下瀏覽數(shù)據(jù)?

      我們分析一下,數(shù)據(jù)庫存儲在服務(wù)器端,辦公之星控件在客戶端,要求客戶端一定能夠完成數(shù)據(jù)綁定是不現(xiàn)實的,尤其是對于復(fù)雜而不規(guī)則的報表來說更是如此。這樣開發(fā)者在數(shù)據(jù)組織、分析、挖掘上就有了更多的可控空間。而XML由于其優(yōu)秀的擴(kuò)展性和靈活性使它允許描述不同種類應(yīng)用軟件中的數(shù)據(jù),是數(shù)據(jù)傳輸媒體的最佳人選。

      在這里我們介紹一種數(shù)據(jù)島技術(shù)。XML的數(shù)據(jù)源對象又稱數(shù)據(jù)島(英文縮寫DSO)。數(shù)據(jù)島的實現(xiàn)機(jī)制是將一個XML文檔或一段XML代碼當(dāng)作一個類似于數(shù)據(jù)庫的對象,使用傳統(tǒng)操作數(shù)據(jù)庫的方法來操作XML文檔中的數(shù)據(jù),例如數(shù)據(jù)的添加、刪除、更新和查詢。有人也將其稱為一個在網(wǎng)絡(luò)上流動的數(shù)據(jù)庫。另一方面數(shù)據(jù)島提供了一種將XML格式數(shù)據(jù)和表格、文本框等進(jìn)行綁定的技術(shù)。

      以下是整個方案框架圖:



      一、建立數(shù)據(jù)島

      首先,建立一個一XML文件,將數(shù)據(jù)庫的數(shù)據(jù)從服務(wù)器端取出來。以下是一段ASP示例代碼:

      <%
      response.buffer=true 
      dim conn
      dim connstr
      dim db
      dim sql,rs
      '數(shù)據(jù)庫路徑
      db="db/db.mdb"
      Set conn = Server.CreateObject("ADODB.Connection")
      connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
      conn.Open connstr
      Set rs= Server.CreateObject("ADODB.Recordset") 
      '取得cell數(shù)據(jù)表中所有字段
      sql="select * from cell"
      rs.open sql,conn,1,1
      %>
      <?xml version="1.0" encoding="gb2312"?>
      '通過循環(huán)生成XML文檔正文
      <cells>
      <% while not rs.eof
      %>
      <cell>
      <id><%=trim(rs("id"))%></id>
      <name><%=trim(rs("name"))%></name>
      <***><%=trim(rs("***"))%></***>
      </cell>
      <%
      rs.movenext
      wend
      rs.close
      %>
      </cells>

      將以上代碼存為xml.asp文件。

      二、通過記錄集管理數(shù)據(jù)島

      記錄是數(shù)據(jù)庫中的一條數(shù)據(jù),在關(guān)系型數(shù)據(jù)庫中對應(yīng)了一行數(shù)據(jù),所有行數(shù)的集合稱為記錄集。一個記錄集包含一條或多條記錄(行),每個記錄包括一個或多個潁ㄗ侄危?。迸f鞷ecordset是一套管理數(shù)據(jù)庫的方法,這里完全可以用來管理XML文檔。

      使用記錄集管理XML文檔中數(shù)據(jù)的第一步是創(chuàng)建一個記錄集對象;然后再通過該記錄集對象的相關(guān)屬性和方法來管理其中的數(shù)據(jù)。通過數(shù)據(jù)島技術(shù)引入外部的XML文檔時,一個記錄集對象就會被自動創(chuàng)建。

      1. 聲明記錄集

      首先定義一個數(shù)據(jù)島,然后再調(diào)用該數(shù)據(jù)島的一個屬性從而生成一個記錄集,具體語法類似下面程序所示:

      <xml id="xmlid" src="xml.asp"></xml>
      <script language="vbscript">
      set rs=xmlid.recordset
      ……
      </script>

      上面語句第一行中id屬性是標(biāo)識數(shù)據(jù)源的惟一名字,第二個參數(shù)src指定了所調(diào)用外部XML數(shù)據(jù)文件的路徑。

      2. 顯示記錄集

      記錄集中的每一條記錄都對應(yīng)數(shù)據(jù)表中的一行數(shù)據(jù)。要顯示記錄集中的所有記錄,只要簡單地做一個循環(huán),具體的語法類似下面程序:

      whild not rs.eof
      document.write "<tr><td bgcolor='#99ff99'>"
      document.write(rs("id"))
      document.write "</td><td bgcolor='#99ff99'>"
      document.write(rs("name"))
      document.write "</td><td bgcolor='#99ff99'>"
      document.write(rs("***"))
      document.write "</td></tr>"
      rs.movenext
      wend

      剛打開一個記錄集時默認(rèn)的當(dāng)前記錄是第一條記錄,上面方法通過調(diào)用記錄集對象的MoveNext方法,使當(dāng)前記錄移動到下一條記錄。更多方法請參見:

      3. 操作記錄集的方法

      addnew 向記錄集中添加一條新記錄
      delete 從記錄集中刪除一條記錄

      MoveFirst 移動到記錄集的第一條記錄
      MoveNext 移動到記錄集的下一條記錄
      MovePrevious 移動到記錄集的上一條記錄
      MoveLast 移動到記錄集的最后一條記錄

      BOF 標(biāo)明當(dāng)前位置在記錄集中的第一條記錄之前。
      EOF 標(biāo)明當(dāng)前位置在記錄集中的最后一條記錄之后。

      三、辦公之星控件中數(shù)據(jù)顯示

      數(shù)據(jù)島通過辦公之星控件顯示數(shù)據(jù)的技術(shù)核心是建立XML數(shù)據(jù)與辦公之星控件文檔中表格之間的對應(yīng)關(guān)系。辦公之星控件提供別名對文檔中表格的表元進(jìn)行操作。

      1. 設(shè)置別名

      在辦公之星控件文檔編輯器(即辦公之星軟件)中,對著表格中表元單擊鼠標(biāo)右鍵,從彈出的右鍵快捷菜單中選擇“設(shè)置別名”命令,這時候會彈出一個對話框,在該對話框中輸入表元別名。



      2. 為別名賦值

      辦公之星控件中對別名進(jìn)行賦值的接口方法為:SetFieldvalue "",""

      該方法第一個參數(shù)為別名名稱,第二個參數(shù)為具體值。例如將數(shù)據(jù)島中name域的內(nèi)容賦予別名為name的表元,其代碼可為:

      OStar.SetFieldvalue "name",rs("name")

      上面代碼中“OStar”是程序中標(biāo)識辦公之星控件的惟一名字,在插入控件時通過id進(jìn)行設(shè)置。


      相關(guān)文章

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多