--- tags: 國興實習 --- # M檔+Q檔子視窗(只更改前端) ### 要加入子視窗之檔案 #### 前端html ```htmlmixed= <my-qubtn></my-qubtn> //添加按鈕 ``` #### js ```javascript= //sender 是 cshtml button 的 id 名稱 //url 是要開窗的網址路徑 //isAutoSearch 是否要開窗就查詢 $scope.quModals.push({ sender: 'btnNAME_S', url: '/DEMO/QTest', isMultiSelect: false, isAutoSearch: false }); //查詢子視窗接收事件 #將初始值放入查詢畫面欄位 $scope.$on("quModalInited", function (e, a_arg) { $scope.searchDate.NAME = nvl(a_arg.oldRow['NAME'], ''); if (a_arg.isAutoSearch) $scope.onBtnSearchClick(); }) //查詢子視窗回傳資料前事件 #檢查或加入欲回傳的資料 $scope.$on("quModalCallbacking", function (e, a_arg) { }) //查詢子視窗顯示事件 #設定查詢子視窗屬性及參數(從主檔丟到子視窗的資料) //NAME是你設定要查的欄位 $scope.$on("quModaling", function (e, a_arg, a_gridRow) { //主檔丟到子視窗的資料的資料 if (a_arg.sender == 'btnNAME_S'.toUpperCase()) { a_arg.oldRow.NAME = $scope.searchData.NAME; } }) //查詢子視窗回傳資料事件 #sender為呼叫對象(從子視窗傳回主檔中的資料) //NAME是你設定要查的欄位 $scope.$on("quModalCallbacked", function (e, a_arg) { //從子視窗傳回主檔中的資料 if ((a_arg.sender == "MTest".toUpperCase()) && (a_arg.dst == "btnNAME_S".toUpperCase())) { $scope.searchData.NAME = a_arg.oldRow['NAME']; } }) ``` ### 作為子查詢視窗之Q檔 #### js 定義QuModal ```javascript= $scope.setGridMasterUI(); ``` 刷新主檔 ```javascript= $scope.mScope.doSearch();//刷新查詢 ``` 隱藏子視窗 ```javascript= hideQuModal(); //close modal ```