第六章 其他功能第六章 其他功能\6-13 JQBatchMove批次新增

6-13 JQBatchMove批次新增

使用者常常在輸入資料時,需由別的資料去選擇多筆資料後一起傳回到目前網頁中,如:輸入驗收單時可以從採購單去選擇採購單上的資料,再一起匯進驗收單上,過去如果以手動方式,需要一筆筆新增資料,繁複且沒有效率,為了解決批次多筆輸入的需求,EEP提供了JQBatchMove元件,來改善手動輸入的不便

Step1>        使用先前建立好的Server程式:sOrders,新增一個InfoCommand元件,CommandText連結Product(產品檔),作為批次多選的資料來源

Step2>        Wizard產生一個JQ表單,使用JQMasterDetail1樣板。建好表單後,從工具箱中拖拉出一個JQDialog元件

 

Step3>        在剛剛加入的JQDialog2裡,新增兩個JQDataGrid元件,命名為dgProductdgProduct2,分別做為查詢用的Grid和批次新增用的Grid

 

Step4>        設定dgProductdgProduct2RemoteName屬性和DataMember屬性,並在Columns屬性裡添加幾個欄位進去,兩個DataGrid設置方式相同。

 

 

Step5>        設定dgProductMultiSelect屬性為TrueMultiSelectGridID選擇dgProduct2作為勾選時要同步顯示的datagridQueryAutoColumn屬性設為True,可以經由查詢來對產品清單做過濾

Step6>        設定dgProductAllowAddAllowDeleteAllowUpdateAutoApplyViewCommandVisible屬性為FalsedgProduct2AllowAddAllowUpdateAutoApplyViewCommandVisible屬性為FalseAllowDelete屬性為True

 

 

Step7>        從工具箱中拖拉出一個JQBatchMove元件至畫面上

Step8>        設定JQBatchMove1SrcDataGrid屬性(批次新增資料來源)dgProduct2DesDataGrid屬性(批次新增目的地)dataGridDetailSrcSelectAll屬性設為True,代表在dgProduct2的資料進行BatchMove時會全部加入至dataGridDetail

Step9>        設定JQBatchMove1MatchColumns屬性為ProductID欄位和UnitPrice欄位

Step10>     dataGridDetailToolItem屬性上新增一個按鈕,並定義一個JS方法來開啟剛剛加入的JQDialog2

 

function  openBM () {            

                $('#JQDialog2').dialog('open');

                $('#dgProduct').datagrid('setWhere', '1=1');

                $('#dgProduct2').datagrid('setWhere', '1=0');

        }

 

Step11>     JQDialog2OnSubmited事件也定義一個JS方法,在按下確定鈕時將產品項目加至訂單明細

 

function  doBM() {

            $('#JQBatchMove1').BatchMove('Move');

            return true;

        }

Step12>     將表單掛至EEPManager上後執行成果

點擊dataGridDetail上的批次新增鈕

 

 

勾選上方DataGrid的產品清單,會自動加入至下方的DataGrid已選擇的產品清單。若要取消已選擇資料,只要按資料前面的刪除鈕即可刪除該筆資料。

 

 

按下存檔鈕,會將已選擇的產品清單上的資料帶回dataGridDetail

 


Top of Page