2011-03-17 60 views
0

我有這index.html請在回答之前閱讀完整的問題。我的網格點擊鏈接不顯示

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Reseller DashBoard</title> 

    <!-- ** CSS ** --> 
    <!-- base library --> 
    <link rel="stylesheet" type="text/css" href="css/ext-all.css" /> 
    <link rel="stylesheet" type="text/css" href="css/xtheme-gray.css" /> 

    <!-- overrides to base library --> 

    <!-- ** Javascript ** --> 
    <!-- ExtJS library: base/adapter --> 
    <script type="text/javascript" src="lib/ext-base-debug.js"></script> 

    <!-- ExtJS library: all widgets --> 
    <script type="text/javascript" src="lib/ext-all-debug.js"></script> 

    <!-- overrides to base library --> 

    <!-- page specific --> 
    <script type="text/javascript" src="lib/dashboard.js"></script> 
    <script type="text/javascript" src="lib/jsfunction.js"></script> 
    <script type="text/javascript" src="lib/reseller.js"></script> 

</head> 
<body> 

    <div id="dashboard"> 
    </div> 
</body> 
</html> 

這是我dashboard.js在此我對這些產生於這個超鏈接我要打開的另一格這是在reseller.js的點擊超鏈接 一個rendere功能。 和onlclick函數位於jsfunction.js中。

/** 
* this file has the reseller dashboard grid 
* 
*/ 
Ext.onReady(function(){ 

    /** 
    * function for rendering the link 
    **/ 
    function linkRenderer(data, cell, record, rowIndex, columnIndex, store) { 
     if (data != null) { 
      return '<a href="javascript:void(0)" onclick="resellerwindow(\'' +record.data.cityname+'\')">'+ data +'</a>'; 

     } 
     return data; 
    } 

    // create the data store 
    var store = new Ext.data.JsonStore({ 
     // store configs 
     autoDestroy: true, 
     autoLoad :true, 
     url: 'api/index.php?_command=getresellerscount', 
     storeId: 'getresellerscount', 
     // reader configs 
     root: 'cityarray', 
     idProperty: 'cityname', 
     fields: [ 
      {name: 'cityname'}, 
      {name: 'totfollowup'}, 
      {name: 'totcallback'}, 
      {name: 'totnotintrested'}, 
      {name: 'totdealsclosed'}, 
      {name: 'totcallsreceived'}, 
      {name: 'totcallsentered'}, 
      {name: 'totresellerregistered'}, 
      {name: 'countiro'}, 
      {name: 'irotransferred'}, 
      {name: 'irodeferred'} 
     ] 
    }); 


    // create the Grid 
    var grid = new Ext.grid.GridPanel({ 
     store: store, 
     columns: [ 
      { 
       id  :'cityname', 
       header : 'City Name', 
       width : 120, 
       sortable : true, 
       dataIndex: 'cityname' 
      }, 
      { 
       id  :'countiro', 
       header : ' Total Prospect', 
       width : 100, 
       sortable : true, 
       dataIndex: 'countiro' 
      }, 
      { 
       id  :'irotransferred', 
       header : 'Calls Transfered By IRO', 
       height : 50, 
       width : 100, 
       sortable : true, 
       dataIndex: 'irotransferred' 
      }, 
      { 
       id  :'irodeferred', 
       header : ' Calls Deferred By IRO', 
       width : 100, 
       sortable : true, 
       dataIndex: 'irodeferred' 
      }, 
      { 
       id  :'totcallsentered', 
       header : ' Total Calls Entered', 
       width : 100, 
       sortable : true, 
       dataIndex : 'totcallsentered', 
       renderer : linkRenderer 
      }, 
      { 
       id  :'totfollowup', 
       header : ' Follow Up', 
       width : 100, 
       sortable : true, 
       dataIndex: 'totfollowup' 
      }, 
      { 
       id  :'totcallback', 
       header : ' Call Backs', 
       width : 100, 
       sortable : true, 
       dataIndex: 'totcallback' 
      }, 
      { 
       id  :'totnotintrested', 
       header : ' Not Interested', 
       width : 100, 
       sortable : true, 
       dataIndex: 'totnotintrested' 
      }, 
      { 
       id  :'totdealsclosed', 
       header : ' Deals Closed', 
       width : 100, 
       sortable : true, 
       dataIndex: 'totdealsclosed' 
      }, 
      { 
       id  :'totresellerregistered', 
       header : ' Reseller Registered', 
       width : 100, 
       sortable : true, 
       dataIndex: 'totresellerregistered' 
      } 
     ], 
     height: 350, 
     width: 1060, 
     title: 'Reseller Dashboard', 
     // config options for stateful behavior 

    }); 

    // render the grid to the specified div in the page 
    grid.render('dashboard'); 
}); 

這裏是我的jsfunction.js,是放置鏈接點擊處理程序的代碼正確的地方或者我應該任其放在別的地方。

/** 
    * function for opening the window of reseller grid 
    * 
    **/ 
    function resellerwindow(cityname) { 
     alert(cityname); 
     // render the grid to the specified div in the page 
     resellergrid.render('dashboard'); 

    } 

這裏是我的reseller.js它有另一個網格編碼,請建議在此文件中的編碼是正確的或者我應該改變一些東西。

/** 
* this file has the reseller grid 
* 
*/ 
Ext.onReady(function(){ 

    // create the data store 
    var store = new Ext.data.JsonStore({ 
     // store configs 
     autoDestroy: true, 
     autoLoad :true, 
     url: 'api/index.php?_command=getresellers', 
     storeId: 'getresellerscount', 
     // reader configs 
     root: 'reseller', 
     idProperty: 'firstname', 
     fields: [ 
      {name: 'firstname'}, 
      {name: 'lastname'}, 
      {name: 'mobile'}, 
      {name: 'email'}, 
      {name: 'tmecode'}, 
      {name: 'tmename'}, 
      {name: 'updatedon'}, 
      {name: 'apptype'}, 
      {name: 'alloctype'}, 
      {name: 'empparent'}, 
      {name: 'irodeferred'} 
     ] 
    }); 


    // create the Grid 
    var resellergrid = new Ext.grid.GridPanel({ 
     store: store, 
     columns: [ 
      { 
       id  :'firstname', 
       header : 'First Name', 
       width : 120, 
       sortable : true, 
       dataIndex: 'firstname' 
      }, 
      { 
       id  :'lastname', 
       header : ' Last Name', 
       width : 100, 
       sortable : true, 
       dataIndex: 'lastname' 
      }, 
      { 
       id  :'mobile', 
       header : 'Mobile', 
       height : 50, 
       width : 100, 
       sortable : true, 
       dataIndex: 'mobile' 
      }, 
      { 
       id  :'email', 
       header : 'E-Mail', 
       width : 100, 
       sortable : true, 
       dataIndex: 'email' 
      }, 
      { 
       id  :'tmecode', 
       header : ' TME Code', 
       width : 100, 
       sortable : true, 
       dataIndex : 'tmecode' 
      }, 
      { 
       id  :'updatedon', 
       header : ' updatedon', 
       width : 100, 
       sortable : true, 
       dataIndex: 'updatedon' 
      }, 
      { 
       id  :'empparent', 
       header : ' empparent', 
       width : 100, 
       sortable : true, 
       dataIndex: 'empparent' 
      } 
     ], 
     height: 350, 
     width: 1060, 
     title: 'Reseller Dashboard', 
     // config options for stateful behavior 

    }); 


}); 

我的主要問題是,爲什麼經銷商電網沒有顯示,而點擊的鏈接在儀表板柵格

resellergrid is not defined 
[Break on this error] resellergrid.render('dashboard'); 
+0

現在顯示由Abdel答案幫助的網格,但我想調用reseller.js商店與傳遞在api中的cityname的數據,並且我在resller.js中改變了一點我添加了窗口在此有物品是resellergrid所以我應該如何繼續 – XMen 2011-03-17 13:00:23

回答

0

你有兩種方法onReady我得到這個錯誤。您的應用程序只需要一個onReady方法。

錯誤是因爲resellergrid未在resellerwindow()的範圍內定義。您已經在reseller.js中聲明瞭resellergrid。但無法通過經銷商的窗口訪問。

+0

那麼我應該如何組織關於onReady和resellerwindow()的代碼。我應該從reseller.js中刪除onready嗎? – XMen 2011-03-17 12:32:29

+0

是!你得到它正確 – 2011-03-17 12:35:18

+0

偉大現在它的顯示 – XMen 2011-03-17 12:39:12