2012-03-04 11 views
0

Json文字列を戻すこのコードを記述しました。これには一連の値(名前)が含まれています。今私はこれらの値をDojoデータ・グリッドを使用してJSPページに表示したいと考えています。この返されたJson文字列をDojoグリッドのデータとして使用する方法はわかりません。テーブルの構造をどのようにフォーマットするか。また、テーブルの特定の行をクリックすると(この場合、単一の列のみが含まれます - クエリの従業員名)、新しいウィンドウが開かれます(おそらく新しいJSPページ)。どうやってするか?コードで私を助けてください。ありがとう。Dojoを使用してJSPページにデータを表示するデータ・グリッド

PopulateTextbox.java

package MyPackage; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.ArrayList; 
import java.util.List; 

import com.google.gson.Gson; 

public class PopulateTextbox { 

    Gson gson = new Gson(); 
    String temp; 
    List <String>rowValues = new ArrayList<String>(); 
    String[] contactListNames; 
    Connection con=null; 
    Statement st=null; 
    ResultSet rs=null; 


    public String method(){ 


     try{ 


     String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
     Class.forName(driver); 

     String db = "jdbc:odbc:Practice_Database"; 
     con = DriverManager.getConnection(db,"",""); 

     st = con.createStatement(); 
     String sql = "SELECT Emp_Name FROM EmployeeSearch"; 
     rs = st.executeQuery(sql); 

     while(rs.next()){ 

      rowValues.add(rs.getString("Emp_Name")); 
     } 
     contactListNames = (String[]) rowValues.toArray(new String[rowValues.size()]); 
     temp = gson.toJson(contactListNames); 

    }catch(Exception e){System.out.println(e);} 
    /*finally{ 
     try { 
       if(con!=null)con.close(); 
      } catch (SQLException e) { 

       e.printStackTrace(); 
      } 
     try { 
      if(rs!=null)rs.close(); 
     } catch (SQLException e) { 

      e.printStackTrace(); 
     }try { 
      if(st!=null)st.close(); 

     } catch (SQLException e) { 

      e.printStackTrace(); 
     } 


    }*/ 
     return temp; 

    } 
} 

答えて

0

dojox.grid.DataGridは、そのソースとしてデータストアを使用します。 dojo.data.ItemFileReadStoreはデータであるjsonオブジェクトを取ることができます。

var grid = ... 
var store = new dojo.data.ItemFileReadStore({ 
    data: YOUR_JSON_HERE 
}); 
grid.setStore(store); 

店が自分自身を初期化するために使用するJSONは以下の

{ 
    identifier: 'id', 
    items: [ 
     { id: 0, name: 'x' }, 
     { id: 1, name: 'y' } 
    ] 
} 

のように見えるので、あなたは特定のJSON形式を生成するためのJavaコードを変更する必要があります。また、各アイテムには、ストア内のすべてのアイテムで一意でなければならないIDがあります。

http://dojotoolkit.org/reference-guide/dojo/data/ItemFileReadStore.html

データグリッドは、ユーザーがそれを選択したときに、あなたが必要なものを行うためにに結び付けることができますonRowClickとonRowDblClickイベントがあります。

http://dojotoolkit.org/reference-guide/dojox/grid/DataGrid.html#dojox-grid-datagrid

関連する問題