<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 41,  comments - 8,  trackbacks - 0

    前臺:

    Store:

    var resource = new Ext.data.Store({
          fields: ['imgpath','typeImage','title', 'type'],
          url: 'teaching/resource/resourceAction.evi?method=getResourceList',
          reader: new Ext.data.XmlReader(
            {
              record: "Item",
              totalRecords: "TotalCount"
            },
          [{name:'title',mapping: 'title'}, {name:'type',mapping: 'type'},{name:'imgpath',mapping: 'imgpath'},{name:'typeImage',mapping: 'typeImage'} ]
        )
    });

    resource.addListener('load', function(st, rds, opts) {
            // st 是當前的store, rds是讀到的Record[], opts是store的配置
       for( var c=0; c<rds.length; c++ ) {
           rds[c].set('typeImage', "<img src='./images/33.gif' width='12' height='12' />");
           //待定類別,先定死類別圖片
          }
    });

    resource.load({params:{start:0,limit:10}});

    var resourceType = new Ext.data.Store({
    ,
          reader: new Ext.data.XmlReader({
          record: "Item"
         }, [
          {name: 'resourceTypeId', mapping: 'resourceTypeId'},
           {name: 'resourceType', mapping: 'resourceType'}
          ])
       });
    resourceType.load();
    var languageType = new Ext.data.Store({
    ,
          reader: new Ext.data.XmlReader({
          record: "Item"
         }, [
           {name: 'languageTypeId', mapping: 'languageTypeId'},
           {name: 'languageType', mapping: 'languageType'}
          ])
       });
    languageType.load();

    列表:

    resourcePanel = new Ext.grid.GridPanel({
    id: 'resources',
    frame: true,
    header: false,
    width: 288,
    autoWidth: true,
    autoHeight: true,
    loadMask:{msg:'正在加載數據,請稍侯……'},
    iconCls:'icon-grid',
    viewConfig: { forceFit: true },
       columns:[
      {header: " ",dataIndex: 'typeImage' , width:20},
      {header: "資源標題", width: 190, sortable: true, dataIndex: 'title'},
      {header: "類別", width: 80, sortable: true, dataIndex: 'type'}
       ],
      store: resource,
      selModel: new Ext.grid.RowSelectionModel({singleSelect:false}),
         bbar: new Ext.PagingToolbar({
      pageSize: 10,
      store: resource,
      displayInfo: false,
      //displayMsg: '顯示第 {0} 條到 {1} 條記錄,一共 {2} 條',
      emptyMsg: "沒有記錄" 
          }),
      listeners: {
      rowclick:function(e) {
       try {
        window.parent.parent.Ext.ux.MyTips.msg("提示", "雙擊該行可預覽該資源");
        } catch(e) {}
        },
      rowdblclick:function(g, rIdx, e) {
       var rd = g.getStore().getAt(rIdx);
       var html = "<img src='./images/" + rd.get('imgpath') + "' />";
      window.parent.showWin({
          layout: 'fit',
          maximizable: true,
          title: rd.get('title'),
          width: 400,
          height: 400,
          //modal: true,
          //closeAction: 'hide',
          plain: true,
          items: [ {html: html} ]
        });
      }
    }
    });

    FormPanel:

    var rform = new Ext.form.FormPanel({
                  id:'rform',
               header: false,
               frame: true,
               hideBorders: false,
               items: [
                new Ext.form.TextField({
                 fieldLabel: '關鍵字',
                 name:'keyword'
                }),
                new Ext.form.ComboBox({
                 fieldLabel: '資源類別',
                 mode: 'local',
                 triggerAction: 'all',
                 store: resourceType,
                 typeAhead: true,
                 hiddenName:'resourceTypeId',
                 displayField: 'resourceType',
                 valueField: 'resourceTypeId',
                 readOnly: true,
                 selectOnFocus: true
                }),
                new Ext.form.ComboBox({
                 fieldLabel: '語言',
                 mode: 'local',
                 triggerAction: 'all',
                 typeAhead: true,
                 hiddenName:'languageTypeId',
                 displayField:'languageType',
                 valueField:'languageTypeId',
                 readOnly: true,
                 selectOnFocus: true,
                 store:languageType
                }),
                new Ext.Panel({
                 layout: 'table',
                 buttonAlign: 'center',
                 layoutConfig: { colspan: 3 },
                 buttons:[{text: '搜  尋',
                  handler: function() {
                                 var keyword = Ext.get('keyword').dom.value;
                                 var resourceTypeId = Ext.get('resourceTypeId').dom.value;
                                 var languageTypeId = Ext.get('languageTypeId').dom.value;
                          resource.reload({params:{start:0,limit:3,keyword:keyword,resourceTypeId:resourceTypeId,languageTypeId:languageTypeId}});
       //這里不用再寫ajax,Ext已經封裝了ajax,只要把參數傳進去就行了  
                  }},
                  {
                    text: '重  置',
                    handler: function() {
                       Ext.getCmp('rform').form.reset();
                   }
                   }
                  ]
                })
               ]
              })

    后臺:

    public ActionForward getResourceList(ActionMapping mapping,
       ActionForm form, HttpServletRequest request,
       HttpServletResponse response) throws IOException {

      Document document = DocumentHelper.createDocument();
      String start = request.getParameter("start");
      String limit = request.getParameter("limit");
      String keyword = request.getParameter("keyword");
      String resourceTypeId = request.getParameter("resourceTypeId");
      String languageTypeId = request.getParameter("languageTypeId");

      List<HqlCondition> hqlFilter = new LinkedList<HqlCondition>();
      if(keyword != null && keyword.length()>0){
       hqlFilter.add( new HqlCondition("and", "rs.title", "like", "%" + keyword + "%", HqlCondition.String) );
       hqlFilter.add( new HqlCondition("or", "rs.remarks", "like", "%" + keyword + "%", HqlCondition.String) );
      }
      if(resourceTypeId != null && resourceTypeId.length()>0){
       hqlFilter.add( new HqlCondition("and", "rs.resourceType.resourceTypeId", "=", new Long(resourceTypeId), HqlCondition.Long) );
      }
      if(languageTypeId != null && languageTypeId.length()>0){
       hqlFilter.add( new HqlCondition("and", "rs.languageType.languageTypeId", "=", new Integer(languageTypeId), HqlCondition.Integer) );
      }
      int pageno =1;
      int pagesize = 10;
      if(limit != null && limit.length()>0){
          pagesize = Integer.parseInt(limit);
      }

      if(!start.equalsIgnoreCase("0") && start != null && start.length()>0){
         int bpos = Integer.parseInt(start);
         pageno = (bpos + pagesize)/pagesize;
      }
      int total = this.rse.getResourceTotalCount(hqlFilter);
      Collection<BaseVO> coll = this.rse.getResourceList(hqlFilter,pageno,pagesize);
      Iterator<BaseVO> it = coll.iterator();
      while(it != null && it.hasNext()){
       BaseVO bv = it.next();
       ResourceType rt = this.rts.getResourceType(((ResourceType)bv.get("resourceType")).getResourceTypeId());
       bv.set("type", rt.getResourceType());
      }
      document.addElement("type");
      new OutputVOXml().writeXML(total,new LinkedList<BaseVO>(coll), response);
      return null;
    }

    查看更多精彩圖片
    posted on 2008-10-04 22:43 Loy Fu 閱讀(1376) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费在线看黄网站| 免费看一级毛片在线观看精品视频| 一区二区免费国产在线观看| 免费**毛片在线播放直播| 亚洲成av人在线观看网站 | 国产亚洲精品美女久久久久久下载| 成人免费无遮挡无码黄漫视频| 在线观看亚洲AV日韩AV| 无码永久免费AV网站| 亚洲AⅤ男人的天堂在线观看| 国产大片线上免费看| 一级毛片免费毛片毛片| 亚洲熟女一区二区三区| 国产一级淫片a免费播放口| 色噜噜综合亚洲av中文无码| 国产免费丝袜调教视频| 亚洲一久久久久久久久| 亚洲国产人成中文幕一级二级| 国产vA免费精品高清在线观看| 亚洲动漫精品无码av天堂| 久久国产高潮流白浆免费观看| 亚洲xxxxxx| 又爽又黄无遮挡高清免费视频| 国产精品免费观看视频| 亚洲国产精品国自产拍电影| 成人影片麻豆国产影片免费观看 | 四虎国产精品成人免费久久| 亚洲女初尝黑人巨高清| h片在线免费观看| 理论亚洲区美一区二区三区| 亚洲精品国产精品乱码不卡√| 亚洲黄色免费在线观看| 国产成人亚洲精品蜜芽影院| 亚洲色中文字幕无码AV| 大地资源二在线观看免费高清| 亚洲精品视频免费| 亚洲狠狠ady亚洲精品大秀| 四虎国产精品免费视| 四虎影视在线影院在线观看免费视频 | 无码国产精品一区二区免费| 疯狂做受xxxx高潮视频免费|