moyを用いてバックグラウンド管理システムを迅速に開発する(五)

2822 ワード

moyって何?moyはモデルフレームワークkeroUIフレームワークneouiに基づいて実現された応用フレームワークであり、先端集積ソリューションであり、企業レベルの応用開発のために生まれた.githubアドレス:https://github.com/iuap-design/tinper-moy
step 5. gridデータの編集と削除を実現
  • htmlにfieldがoperateの列が入っているのでstep 3を参照してください.そこで、この属性に対して定義されたrederType属性の値optFunを、pages/cardtable/cardtable.jsのviewModelオブジェクトに対応するメソッドを加えることで、変更および削除アイコンを表示することができる:
    var viewModel = {
      ...
      
      //         begin
      optFun: function(obj) {
         var delfun = "data-bind=click:event.delClick.bind($data," + (obj.gridObj.getDataTableRowIdByRow(obj.row)) + ")";
         var editfun = "data-bind=click:event.editClick.bind($data," + (obj.gridObj.getDataTableRowIdByRow(obj.row)) + ")";
         obj.element.innerHTML = '
    ' + '
    '; ko.applyBindings(viewModel, obj.element); }, // end ... }
  • は、optFunメソッドにおいて、修正および削除アイコンを動的に追加し、対応するクリックイベントdelClickおよびeditClickをバインドする.最後にpages/cardtable/cardtable.jsのviewModelに向かいますevに対応する方法を加える:
    var viewModel = {
         ...
         event: {
             ...
                //     begin
                 editClick: function(index) {
                     viewModel.index = index;
                     $('#editPage').find('.u-msg-title').html("  ");
                     viewModel.event.clearDt(viewModel.dtnew);
                     var row = viewModel.dt1.getSelectedRows()[0];
               viewModel.dtnew.setSimpleData(viewModel.dt1.getRowByRowId(index).getSimpleData());
                     $('#code').attr("readonly", "readonly");
                     window.md = u.dialog({
                         id: 'editDialog',
                         content: '#editPage',
                         hasCloseMenu: true
                     });
                 },
                 delClick: function(index) {
                     var row = viewModel.dt1.getSelectedRows()[0];
                     var data = viewModel.dt1.getRowByRowId(index).getSimpleData()
                     u.confirmDialog({
                         msg: "    " + data.name + "?",
                         title: "    ",
                         onOk: function() {
                             viewModel.dt1.removeRowByRowId(index);
                         },
                         onCancel: function() {}
                     });
                 }
           //     end
         }
    }
    
  • 修正と新規作成は同じポップアップページであるため、現在、修正と削除機能も
  • 完了している.
    ここまで、私たちはすでに前に述べたすべての機能を完成しましたが、完成しただけで、完備していません.
    (全編終了)