整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Access動(dòng)態(tài)設(shè)置子窗體及篩選子窗體數(shù)據(jù)的技巧

          Access動(dòng)態(tài)設(shè)置子窗體及篩選子窗體數(shù)據(jù)的技巧

          Access開發(fā)中,子窗體的應(yīng)用是一大特色,能非常方便地顯示數(shù)據(jù),篩選數(shù)據(jù)

          有問到如何通過按鈕篩選子窗體的值來進(jìn)行查詢(行),篩選列顯示不同的字段

          1、設(shè)置子窗體的數(shù)據(jù)源

          通過動(dòng)態(tài)設(shè)置子窗體的記錄源,動(dòng)態(tài)篩選數(shù)據(jù)。通過選擇不同的訂單號(hào),篩選該訂單號(hào)下的數(shù)據(jù)

          Private Sub Command3_Click()
           Dim strSql As String
           strSql="Select * from 訂單明細(xì)表 where 訂單號(hào)=" & Me.Text1 & ""
           Me.訂單明細(xì)窗體.Form.RecordSource=strSql
           Me.訂單明細(xì)窗體.Form.Requery
          End Sub

          解析:子窗體名為“訂單明細(xì)窗體”,篩選的文本框?yàn)椤癟ext1”。通過RecordSource來動(dòng)態(tài)設(shè)置記錄源

          2.動(dòng)態(tài)替換子窗體

          Private Sub Command4_Click()
           Me.訂單明細(xì)窗體.SourceObject="查詢.訂單明細(xì)查詢"
          End Sub

          解析:為子窗體設(shè)置一個(gè)新的對(duì)象,一個(gè)名為"訂單明細(xì)查詢"的查詢,這里也可以是一個(gè)表,或者是窗體。

          源碼下載:http://www.office-cn.net/access-interface/364.html

          窗體與子窗體之間的通信

          在之前文章講解windows程序設(shè)計(jì)過程中,我們?cè)枋隽藈indows程序窗口之間通信與控制實(shí)現(xiàn)方法與過程,如窗體之間參數(shù)傳遞等。本文主要從Web程序開發(fā)前端JavaScript腳本語言角度對(duì)窗體之間的通信及控制進(jìn)行說明。


          window對(duì)象

          window對(duì)象是是BOM中其他所有對(duì)象的父對(duì)象,其很多屬性本身就是它的子對(duì)象。通俗理解當(dāng)瀏覽器中每打開一個(gè)窗口就會(huì)創(chuàng)建一個(gè)window對(duì)象的實(shí)例。JavaScript程序語言可以通過該實(shí)例實(shí)現(xiàn)對(duì)窗體進(jìn)行控制。window對(duì)象基本屬性描述如下圖:

          window對(duì)象常用屬性

          window對(duì)象常用屬性描述如上圖,其中與窗口參數(shù)傳遞與控制相關(guān)屬性主要包括parent屬性、opener屬性及closed屬性等。各屬性描述如下:

          1、parent屬性

          該屬性是指包含當(dāng)前窗口的父窗口,此處包含多用在框架結(jié)構(gòu)中,框架頁面是構(gòu)成框架的各個(gè)子頁面的parent。

          2、opener屬性

          opener屬性主要針對(duì)使用open方法打開的窗口,被打開的窗口即為子窗口,其父親窗口為opener。

          3、closed屬性

          該屬性主要用于判斷一個(gè)窗口是否被關(guān)閉,如被關(guān)閉則返回true邏輯值。

          4、screen屬性

          該屬性主要是指與終端瀏覽器尺寸相關(guān)值,主要包括屏幕的寬度、高度等。

          以上給出了window對(duì)象基本屬性,除以上基本屬性之外,JavaScript還提供了window對(duì)象常用操作方法,方法描述如下:

          window對(duì)象常用方法

          window對(duì)象常用方法描述如上圖所示,其中與窗口打開相關(guān)函數(shù)主要包括open方法、close方法等。說明如下:

          1、open()方法

          該方法主要用于實(shí)現(xiàn)打開一個(gè)窗口,并對(duì)打開窗口URL及相關(guān)屬性進(jìn)行設(shè)置。函數(shù)返回值為被打開窗口的標(biāo)識(shí)。

          2、close()方法

          該方法主要用于實(shí)現(xiàn)關(guān)閉窗口,關(guān)閉窗口可以針對(duì)本身,也可以針對(duì)子窗口進(jìn)行關(guān)閉操作。


          父子窗口通信

          web中的父子窗口主要是指打開的網(wǎng)頁,子窗口為被打開的網(wǎng)頁,打開者為父窗口。本文所指的父子窗口通信主要包括參數(shù)的傳遞與方法調(diào)用。描述如下:

          父窗口與子窗口通信

          父窗口與子窗口通信主要借助窗口句柄或者窗口標(biāo)識(shí)實(shí)現(xiàn),在獲取句柄或者標(biāo)識(shí)后可以使用方法與屬性進(jìn)行操作,下面我們對(duì)參數(shù)傳遞及方法調(diào)用進(jìn)行實(shí)例分析與說明。

          1、父?jìng)髯訁?shù)傳遞

          參數(shù)傳遞主要包括子窗口傳父窗口或者父窗口傳主窗口兩類。為演示操作,我們?cè)谥鞔翱谂c子窗口中分別添加文本框用于接收數(shù)據(jù)。效果如下圖所示:

          參數(shù)傳遞測(cè)試Demo

          參數(shù)傳遞測(cè)試Demo如上圖,當(dāng)父窗口點(diǎn)擊發(fā)送數(shù)據(jù)到子窗口時(shí),將子窗口中的文本框用于顯示所發(fā)送的數(shù)據(jù)。該功能實(shí)現(xiàn)主要借助于主窗口在打開子窗口時(shí)獲取子窗口的句柄即標(biāo)識(shí)。然后根據(jù)子窗口句柄操作子窗口文本框設(shè)置值。實(shí)現(xiàn)核心代碼如下:

          父窗口傳遞數(shù)據(jù)給子窗口

          父窗口傳遞數(shù)據(jù)給子窗口實(shí)現(xiàn)代碼如上所示,主要借助childWind句柄獲取子窗口的文本框設(shè)置其Value值。實(shí)現(xiàn)效果如下圖:

          父?jìng)髯訉?shí)現(xiàn)窗口

          2、子傳父參數(shù)傳遞

          子傳父參數(shù)傳遞主要借助子窗口的opener屬性獲取主窗口,并設(shè)置主窗口文本字段值。在子窗口中為發(fā)送數(shù)據(jù)按鈕編寫onclick點(diǎn)擊處理函數(shù),函數(shù)如下:

          子傳父實(shí)現(xiàn)代碼

          如上圖通過opener屬性獲取父窗口句柄后可直接調(diào)用父窗口的getElementById獲取其對(duì)話框并設(shè)置父窗口文本框的Value實(shí)現(xiàn)子向父親傳遞參數(shù)。實(shí)現(xiàn)效果如下圖:

          子傳父功能實(shí)現(xiàn)

          3、命令操作的傳遞

          理論上將無論父窗口還是子窗口只要獲取了對(duì)方的句柄即標(biāo)識(shí)之后,就可以調(diào)用對(duì)方window窗體的方法執(zhí)行操作。如父窗體關(guān)閉前可直接調(diào)用子窗體的close方法先關(guān)閉子窗體。實(shí)現(xiàn)代碼如下:

          父窗體關(guān)閉子窗體

          以上給出JavaScript開發(fā)過程中父窗口與子窗口通信的實(shí)現(xiàn)及相關(guān)案例代碼演示,如需完整代碼請(qǐng)關(guān)注并私信。在測(cè)試過程中通過父窗口獲取子窗口并進(jìn)行操作在Chrome瀏覽器下受到跨源請(qǐng)求規(guī)范約束無法執(zhí)行代碼,其他瀏覽器均可正常執(zhí)行。


          本頭條號(hào)長期關(guān)注編程資訊分享;編程課程、素材、代碼分享及編程培訓(xùn)。如果您對(duì)以上方面有興趣或代碼錯(cuò)誤、建議與意見,可在評(píng)論區(qū)回復(fù)。更多程序設(shè)計(jì)相關(guān)教程及實(shí)例分享,期待大家關(guān)注與閱讀!相關(guān)文章鏈接如下:

          前端設(shè)計(jì)-JavaScript實(shí)現(xiàn)Node節(jié)點(diǎn)的遍歷

          Web前端設(shè)計(jì)-常用CSS選擇器說明及實(shí)例分析(二)

          Web前端設(shè)計(jì)-常用CSS選擇器說明及實(shí)例分析(一)

          iframe在復(fù)合文檔中經(jīng)常用到,利用jquery操作iframe可以大幅提高效率,本文主要給大家分享了關(guān)于簡(jiǎn)單使用JQUERY來操作IFRAME的一些記錄,這個(gè)使用純JS也可以實(shí)現(xiàn)。下面話不多說了,來一起看看詳細(xì)的介紹吧。

          第一、在iframe中查找父頁面元素的方法:

          $('#id', window.parent.document)

          第二、在父頁面中獲取iframe中的元素方法:

          $(this).contents().find("#id")

          第三、在iframe中調(diào)用父頁面中定義的方法和變量:

          parent.method parent.value

          JQUERY、JS調(diào)用IFRAME父窗口與子窗口元素的方法

          1.jquery 在iframe子頁面獲取父頁面元素代碼如下:

          $("#id", parent.document)

          2. jquery在父頁面 獲取iframe子頁面的元素 代碼如下:

          $("#id",document.frames('iframename').document)

          3.js 在iframe子頁面獲取父頁面元素代碼如下:

          window.parent.document.getElementByIdx_x("id");

          4.js 在父頁面獲取iframe子頁面元素代碼如下:

          window.frames["iframe_ID"].document.getElementByIdx_x("id");

          5.子類iframe內(nèi)調(diào)用父類函數(shù):

          window.parent.func();

          jquery_iframe父子級(jí)頁面事件使用

          1、index.html

          <body topmargin='0' leftmargin='0' style="background:#ccc">    //這里的屬性只是為了全屏下邊無間隙
            index.html
              <iframe src="main.html" id="indexMain" style="margin-bottom:-5px;position:relative;"></iframe>    //這里的樣式的為了跳轉(zhuǎn)之后移動(dòng)端input輸入完成之后下邊無間隙
          </body>
          
          <script>
          /*父級(jí)本頁面事件*/
              function oIndexFn(){
                      alert("父級(jí)頁面index.html事件調(diào)用成功");
                  }
          /*調(diào)用子頁面事件*/
          $(document).click(function(){
            alert("您點(diǎn)擊的是父頁面[index]")
              $("#indexMain")[0].contentWindow.oMainFn();    //iframe的id
          })
          </script>

          2、main.html

          <body style="background:#f0f0f0">
              main.html
          </body>
          
          <script>
          /*子級(jí)本頁面事件*/
              function oMainFn(){
                      alert("子頁面main.html事件調(diào)用成功");
                  }
          /*調(diào)用父頁面事件*/
          $(document).click(function(){
            alert("您點(diǎn)擊的是子頁面![main]")
              parent.window.oIndexFn();       //調(diào)用父級(jí)頁面事件
          })
          </script>  

          利用JQuery操作iframe父頁面、子頁面的元素和方法匯總


          主站蜘蛛池模板: 国产精品合集一区二区三区 | 亚洲综合无码精品一区二区三区| 极品尤物一区二区三区| 国产视频一区二区| 国产精品无码一区二区在线观一 | 亚洲乱码国产一区网址| 少妇无码一区二区三区| 人妻在线无码一区二区三区| 国产免费无码一区二区| 亚州国产AV一区二区三区伊在| 精品一区二区视频在线观看| 国产吧一区在线视频| 亚洲AV成人一区二区三区AV| 伊人久久一区二区三区无码| 手机看片福利一区二区三区| 日韩一区在线视频| 久久蜜桃精品一区二区三区| 国产aⅴ精品一区二区三区久久 | 久久婷婷色一区二区三区| 国产成人av一区二区三区在线| 91秒拍国产福利一区| 成人精品一区二区三区中文字幕| 在线免费视频一区二区| 日韩免费一区二区三区在线| 无码精品视频一区二区三区| 91福利国产在线观看一区二区| 高清一区二区三区视频| 一区二区免费在线观看| 国产在线精品观看一区| 日本精品一区二区在线播放| 日韩一区二区超清视频| 在线免费视频一区| 日本一区二区三区不卡视频中文字幕 | 日韩高清一区二区三区不卡| 精品国产AV一区二区三区| 亚洲一区二区三区在线网站| 日韩最新视频一区二区三| 午夜一区二区在线观看| 日韩一区二区三区在线观看| 精品国产一区在线观看| 色系一区二区三区四区五区|