<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 閱讀(1385) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 最近中文字幕mv免费高清电影| 亚洲av无码一区二区三区网站| 亚洲av乱码一区二区三区| 久久免费高清视频| 亚洲人成网站在线播放vr| 黄色短视频免费看| 国产亚洲无线码一区二区| 二级毛片免费观看全程| 亚洲国产精品综合久久网络| 国产亚洲精彩视频| 免费观看国产精品| 人人爽人人爽人人片A免费| 亚洲国产精品激情在线观看 | 亚洲精品视频在线看| 亚洲GV天堂GV无码男同| 免费萌白酱国产一区二区| www免费黄色网| 亚洲国产精品lv| 国产桃色在线成免费视频| 免费a级黄色毛片| 日韩在线视频免费| 国产精品亚洲а∨无码播放| 亚洲一区免费视频| 亚洲永久网址在线观看| 四虎影视精品永久免费| 99久久免费国产精精品| 97亚洲熟妇自偷自拍另类图片| 在线天堂免费观看.WWW| 在线观看亚洲视频| 国产精品亚洲成在人线| 久久久久国产精品免费免费搜索| 老子影院午夜伦不卡亚洲| 亚洲啪啪AV无码片| 在线观看免费高清视频| 日日狠狠久久偷偷色综合免费| 亚洲伦理一区二区| 热99re久久免费视精品频软件 | 久久久久无码精品亚洲日韩| 无码少妇一区二区浪潮免费| 一级毛片免费毛片毛片| 亚洲日韩国产精品无码av|