1. 程式人生 > >extjs4.1 一個actioncolumn多個item 在mvc controller中分開控制。

extjs4.1 一個actioncolumn多個item 在mvc controller中分開控制。

view頁面程式碼:

    columns : [{header:'公告id',dataIndex :'id',width:150,align: 'center'},
               {header:'公告標題',dataIndex :'title',width:150,align: 'center',editor:{xtype:'textfield',allowBlank:true}},
               {header:'公告內容',dataIndex :'content',width:150,align: 'center',editor:{xtype:'textfield',allowBlank:true}},
               {header:'建立時間',dataIndex :'created',width:150,align: 'center',editor:{xtype:'datefield',allowBlank:true}},
               {header:'建立人',dataIndex :'create_man',width:150,align: 'center',editor:{xtype:'textfield',allowBlank:true}},
               {  
            	   header:'操作',
            	   align: 'center',
                   xtype:'actioncolumn',
                   id:'announcementGridActionEdit',
                   width:70,
                   items: [{
                	   iconCls : 'icon-edit',
                       tooltip: '編輯公告',
                       handler: function(grid, rowIndex, colIndex, item) {
                           var rec = grid.getStore().getAt(rowIndex);
                           this.fireEvent('editclick', {
                               record: rec
                           });
                       }
                   },{
                	   iconCls : '',
                       tooltip: '',                    
                  },{
                	   iconCls : 'icon-checkininfo',
                       tooltip: '檢視公告',
                       handler: function(grid, rowIndex, colIndex, item) {
                           var rec = grid.getStore().getAt(rowIndex);
                           this.fireEvent('showclick', {
                               record: rec
                           });
                       }
                  }]
               }
              ],

controller層中程式碼:

/**
 * The com.sharera.merchant.AnnouncementInfo controller definition
 */
Ext.define('Sharera.controller.merchant.AnnouncementInfo', {
    extend: 'Ext.app.Controller',
	models: ['merchant.AnnouncementInfo'],
    stores: ['merchant.AnnouncementInfo'],
    views:  [
        'merchant.AnnouncementInfo.Grid',
        'merchant.AnnouncementInfo.newForm',
        'merchant.AnnouncementInfo.editForm',
        'merchant.AnnouncementInfo.showForm'
    ],
    init:function(){ 
        this.control({
       	        'actioncolumn#announcementGridActionEdit': {
        	    showclick: function(record){
        	      var editForm=Ext.widget('announcementshowform',{title:"展示使用者資訊"});
                      var formObj=editForm.down('form').getForm();
                      var id=record.record.data.id
                      formObj.findField("id").setValue(id);
                      formObj.getRecord(record);
                      var b=editForm.down("button[text=儲存] ");
                      b.on("click", function(){
                      	if (formObj.isValid()) {
                      		formObj.submit({
  								waitTitle : '傳送資料',
  								waitMsg : '正在儲存...',
  								timeout : 2000,          										
  								success : function(form, action) {

  								},
  								failure : function(form, action) {
  									Ext.getCmp('systemtab-statusbar').setText('id為'+id+'的公告資訊展示成功');
  								}
  						    });
                      		editForm.close();
  						}
                      }, this);               
                  } ,
                  editclick: function(record){
                	  var editForm=Ext.widget('announcementeditform',{title:"編輯使用者資訊"});
                      var formObj=editForm.down('form').getForm();
                      var id=record.record.data.id
                      formObj.findField("id").setValue(id);
                      formObj.getRecord(record);
                      var b=editForm.down("button[text=儲存] ");
                      b.on("click", function(){
                      	if (formObj.isValid()) {
                      		formObj.submit({
  								waitTitle : '傳送資料',
  								waitMsg : '正在儲存...',
  								timeout : 2000,          										
  								success : function(form, action) {

  								},
  								failure : function(form, action) {
  									Ext.getCmp('systemtab-statusbar').setText('id為'+id+'的公告資訊修改成功');
  								}
  						    });
                      		editForm.close();
  						}
                      }, this);              
                  }  
               
         	},
			"panel[xtype=announcementinfo.grid] button[ref=add]":{
				click:function(addButton){
              	  var editForm=Ext.widget('announcementnewform',{title:"新建公告"});
                  var formObj=editForm.down('form').getForm();
                  var b=editForm.down("button[text=儲存] ");
                  b.on("click", function(){
                  	if (formObj.isValid()) {
                  		formObj.submit({
								waitTitle : '傳送資料',
								waitMsg : '正在儲存...',
								timeout : 2000,          										
								success : function(form, action) {

								},
								failure : function(form, action) {
									Ext.getCmp('systemtab-statusbar').setText('公告新建成功');
								}
						    });
                  		    editForm.close();
						}
                  }, this);
				}
				
			}
       });
   }
});

相關推薦

extjs4.1 一個actioncolumnitemmvc controller分開控制

view頁面程式碼: columns : [{header:'公告id',dataIndex :'id',width:150,align: 'center'}, {header:'公告標題',dataIndex :'title',wid

recyclerview23+出現item只顯示第一個item的問題

inflate 參數設置 解決方案 ren view 使用 方案 ont match 1.改成21+可以,如果不行,就使用第2或第3個解決方案 2.對每個item的inflate,傳入兩個參數,第二個參數設置為null,而不是使用3個參數(第二個parent,第三個fal

關於一個ListView使用item佈局在優化時出現顯示錯亂的解決方案

一個很麻煩的問題,引用兩個或者多個佈局由於使用了ViewHolder和contenView做優化,頁面在複用時出現要顯示的內容錯亂,經過上網查詢和查谷歌官方的原始碼終於解決了這個問題 首先看下谷歌原始碼是怎麼寫的 這個是Adapter.class檔案中的

spring mvc bean,或一個bean物件的資料繫結

一、前臺傳遞不同類不同物件 1、屬性名不同,可直接封裝進controller方法的物件引數(經驗證) 2、屬性名有重複,可在重複的類中設定一個值型別,後臺再去將值型別值賦值給例項變數(經驗證) 二、同一類多個物件集合 方法1、Json方式 方法2、新建一個類,該

準則2.1-效能、執行Wi-Fi在iPad上一個錯誤問題

很多開發者上架遇到這個問題,蘋果那邊打不開APP,載入不出來內容!   很多人以為是沒有相容ipad,其實是蘋果

fatal error LNK1169:找到一個重定義的符號

ava 文件中 程序 bsp 由於 nbsp .cn 引用 error 這個算是個比較基礎的問題,由於我不是C程序員,本行java,臨時拉來做的,所以有些坑還得自己走出來。 這個問題是由於,全局變量在a.h中定義,在兩個源文件a.cpp和b.cpp中引用,之後被編譯器

一個實體的驗證失敗有關詳細信息,請參閱“EntityValidationErrors”屬性

sys date 錯誤 onerror conf erro fig 站點 更新 問題原因可能是: 1. 非空列未插入值錯誤 2. 多個表間外鍵列長度不一樣 3. ef上下文對象db為空 4. ef上下文設置屬性為 db.Configurat

VIewPager顯示Item

viewpager http wpa weixin mage blog com log alt 一直以來想搞明白這個不完全的VIewPager是怎麽做到的,有幸看到這片篇文章 VIewPager顯示多個Item

jquery 實現一個頁面tab頁

無法 text mage solid 出現 none poi code tle <!DOCTYPE html ><html ><head><meta http-equiv="Content-Type" content="text/h

導出Excel工具類(一個主表明細表)

導出 excel 選擇 ①ExcelData.java(Excel數據封裝類)package com.kentra.util; import java.util.List; import java.util.Map; /** * * 描述:為導出Excel文件封裝數據 * 封裝Excel

課程作業01 模仿JavaAppArguments.java示例,編寫一個程序,此程序從命令行接收數字,求和之後輸出結果

技術 next highlight nbsp [] ++ pub 完成 一個 設計思想:主要是在命令行進行參數的轉化並相加輸出。由於命令行參數都是字符串,想要進行相加運算必須進行轉化,借助示例JavaAppArguments.java可以很好的進行轉化,之後再進行相加運算就

課程作業01:模仿JavaAppArguments.java示例,編寫一個程序,此程序從命令行接收數字,求和之後輸出結果

解決問題 數據 代碼 spa clas blog 數字 循環求和 截圖 一、程序設計思想 解決問題的關鍵在於將參數進行數據類型的轉化,利用運行配置輸入的數據類型是String類型,故需要用Integer.parse()或者Integer.valueOf()將原有的Strin

模仿JavaAppArguments.java示例,編寫一個程序,此程序從命令行接收數字,求和之後輸出結果

程序流程圖 註意 isp 流程 字符數 個數字 [] println nts [課程作業01] 設計思想 用args[]字符數組,用戶在參數表中依次輸入要相加的參數,程序統計用戶輸入的參數個數,依次輸出參數,sum賦初值為0,參數依次相加賦值給sum,最後輸出sum值。

編寫一個程序,此程序從命令行接收數字,求和之後輸出結果

編譯 技術 計算 求和 數字 定義 log int 結果 設計思想:定義int sum=0用於求和計算,在編譯器運行配置中輸入String類的數組,利用Integer.parseInt(arg);將數組轉化為int類進行相加,最後輸出結果。 程序流程圖: 源程序代碼:pu

課程作業01: 模仿JavaAppArguments.java示例,編寫一個程序,此程序從命令行接收數字,求和之後輸出結果

命令行 for ger es2017 bsp 運行 idt 定義 wid 【課程作業01】 題目要求: 模仿JavaAppArguments.java示例,編寫一個程序,此程序從命令行接收多個數字,求和之後輸出結果。 1、設計思路: 定義sum表示和,初始值設為0

一個頁面tab選項卡效果

結果 菜鳥 提升 ref -a 搜索引擎 flow .cn www. 新整理同一個頁面多個tab選項卡,由於不會自己些代碼,只能從網上找現成的來改。留著備用。 共3部分,HTML、CSS、JS 暫時沒有演示地址和下載地址,以後會補上。 HTML部分 <!DOCTY

js 獲取url的參數值 一個參數

run -c www cno spl http 獲取url參數 strong ear 以下JS函數用於獲取url參數: 1 function getQueryVariable(variable) 2 { 3 var query = window.loc

fatal error LNK1169: 找到一個多重定義的符號

編譯 gpo .cpp post 多重 print use 控制 包含 在vs中,使用c時,由編譯-鏈接,cpp之間是自動的,如: 1,頭文件 x.h: 1 int f(); 2,實現 impl.cpp: 1 #include "stdafx.h" 2 3 int

Object.assign() 從一個源對象復制到目標對象

bject 待完善 示例 ces sign java script {} clas Object.assign()方法用於將所有可枚舉屬性的值從一個或多個源對象復制到目標對象。它將返回目標對象。 1、語法: Object.assign(target, ... , sourc

js將數組一個字段相同的子元素合並

++ body 遇到 return json 合並 arr 可能 var 最近js中遇到js將數組中一個或多個字段相同的子元素中合並,相信很多朋友也有遇到,大家可能有多種方法,我在這裏記錄一個相對簡單的方法,當然大家如有其它更好的方法,請提出來大家共同學習。 //將經濟事