как создать Jqgrid с помощью jsp

Я очень новичок в jquery и json. Я знаю jsp и java в своей работе над проектом, мне нужно реализовать сетку данных, как показано в http://www.trirand.com/blog/jqgrid/jqgrid.html# На этом примере сайта мне нужна сетка данных с использованием объекта Json. Я изучаю все в Интернете, но я не могу найти никакой помощи в этом.

пожалуйста, предоставьте мне пример использования jqgrid json с использованием jsp -servlet


person Dhrumil Shah    schedule 25.10.2010    source источник


Ответы (2)


Наконец-то я преобразовал PHP-код в jsp-код jqgrid:

jQuery(document).ready(function()
    {

    jQuery("#list10").jqGrid({

        url:'griddata.jsp',
    colNames:['Inv No','Date', 'Client'],
        colModel:[{name:'id',index:'id', width:55},{name:'invdate',index:'invdate', width:90},{name:'name',index:'name', width:100}],
    rowNum:10,
    rowList:[5,7,10],
    pager: '#pager10',
    sortname: 'id',
        datatype: 'json',
        viewrecords: true,
        sortorder: "desc",
    multiselect: false,
    imgpath: "themes/basic/images",
    caption: "Invoice Header",
    onSelectRow: function(ids) {

                        jQuery("#list10_d").jqGrid().setGridParam({url : 'getsubdata.jsp?id='+ids}).trigger("reloadGrid")
                        jQuery("#list10_d").jqGrid('setCaption',"Invoice Detail: "+ids)

                        }

        });

    jQuery("#list10").jqGrid('navGrid','#pager10',{add:false,edit:false,del:false});


<!-- subgrid start-->

    jQuery("#list10_d").jqGrid({
                                url:'getsubdata.jsp?id=0',
                                datatype: 'json',
                                colNames:['No','Item', 'Qty', 'Unit','Line Total'],
                                colModel:[
                                        {name:'num',index:'num' },
                                        {name:'item',index:'item'},
                                        {name:'qty',index:'qty',align:"center"},
                                        {name:'unit',index:'unit', align:"center"},     
                                        {name:'linetotal',index:'linetotal',align:"center", sortable:false, search:false}
                                ],
                                rowNum:5,
                                rowList:[5,10,20],
                                pager: '#pager10_d',
                                sortname: 'item',
                                viewrecords: true,
                                sortorder: "asc",
                                multiselect: true,
                                imgpath: "themes/basic/images",
                                caption:"Invoice Detail"
                        }).navGrid('#pager10_d',{add:false,edit:false,del:false});


     }//function
    );//ready

В этом коде я создал два файла jsp.

Первый код ниже

<%@ page import="java.sql.*,java.util.ArrayList,net.sf.json.*" %>
<%
        String rows=request.getParameter("rows");

        String pageno=request.getParameter("page");
        String cpage=pageno;

        Connection connect = null;
        Statement statement = null;
        PreparedStatement preparedStatement = null;
        ResultSet rs= null;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connect = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=root");
        statement = connect.createStatement();
        rs = statement.executeQuery("SELECT * FROM grid ");

        int count=0;
        rs.last();
        count=rs.getRow(); 

        int  pageval=0;
        pageval=(count/Integer.parseInt(rows));

        int limitstart=0;

        limitstart=(Integer.parseInt(rows)*Integer.parseInt(pageno))-Integer.parseInt(rows);
        int total=count/Integer.parseInt(rows);
        String totalrow=String.valueOf(total+1);

        rs = statement.executeQuery("SELECT * FROM grid limit "+limitstart+","+rows);  


        JSONObject responcedata=new JSONObject();
        net.sf.json.JSONArray cellarray=new net.sf.json.JSONArray();

         responcedata.put("total",totalrow);
        responcedata.put("page",cpage);
        responcedata.put("records",count);

        net.sf.json.JSONArray cell=new net.sf.json.JSONArray();
        net.sf.json.JSONObject cellobj=new net.sf.json.JSONObject();

        int i=1;
       while(rs.next())
           {
                cellobj.put("id",rs.getString(1));
                cell.add(rs.getString(1));
                cell.add(rs.getString(2));
                cell.add(rs.getString(3));

        cellobj.put("cell",cell);
        cell.clear();
        cellarray.add(cellobj);
        i++;
       }
        responcedata.put("rows",cellarray);
        out.println(responcedata);

%>

Второй файл JSP meams getsubdata.jsp приведен ниже:

<%@ page import="java.sql.*,java.util.ArrayList,net.sf.json.*" %>
<%
        String id=request.getParameter("id");
        String rows=request.getParameter("rows");
        String pageno=request.getParameter("page");
        String cpage=pageno;


        JSONObject mysubdata=new JSONObject();
        JSONArray subarray = new JSONArray();
        Connection connect = null;
   Statement statement = null;

 ResultSet rs= null;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connect = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=root");
        statement = connect.createStatement();

        rs = statement.executeQuery("SELECT * FROM subgrid where gridid='"+id+"'");  

        int count=0;
        rs.last();
        count=rs.getRow(); 

        int  pageval=0;
        pageval=(count/Integer.parseInt(rows));

        int limitstart=0;

        limitstart=(Integer.parseInt(rows)*Integer.parseInt(pageno))-Integer.parseInt(rows);
        int total=count/Integer.parseInt(rows);
        String totalrow=String.valueOf(total+1);

        rs = statement.executeQuery("SELECT * FROM subgrid where gridid='"+id+"' limit "+limitstart+","+rows);  

        JSONObject responcedata=new JSONObject();
        net.sf.json.JSONArray cellarray=new net.sf.json.JSONArray();

        responcedata.put("total",totalrow);
        responcedata.put("page",cpage);
        responcedata.put("records",count);

        net.sf.json.JSONArray cell=new net.sf.json.JSONArray();
        net.sf.json.JSONObject cellobj=new net.sf.json.JSONObject();

        int ii=1;
       while(rs.next()) 

       {
                cellobj.put("id",""+ii);

                //cell.add(rs.getString(1));
                cell.add(rs.getString(1));
                cell.add(rs.getString(2));
                cell.add(rs.getString(3));
                cell.add(rs.getString(4));
                cell.add(rs.getString(4));

        cellobj.put("cell",cell);
        cell.clear();
        cellarray.add(cellobj);
        ii++;
       }
        responcedata.put("rows",cellarray);
        out.println(responcedata);

И второй файл JSP meams getsubdata.jsp ниже

<%@ page import="java.sql.*,java.util.ArrayList,net.sf.json.*" %>
<%
        String id=request.getParameter("id");
        String rows=request.getParameter("rows");
        String pageno=request.getParameter("page");
        String cpage=pageno;


        JSONObject mysubdata=new JSONObject();
        JSONArray subarray = new JSONArray();
        Connection connect = null;
   Statement statement = null;

 ResultSet rs= null;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connect = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=root");
        statement = connect.createStatement();

        rs = statement.executeQuery("SELECT * FROM subgrid where gridid='"+id+"'");  

        int count=0;
        rs.last();
        count=rs.getRow(); 

        int  pageval=0;
        pageval=(count/Integer.parseInt(rows));

        int limitstart=0;

        limitstart=(Integer.parseInt(rows)*Integer.parseInt(pageno))-Integer.parseInt(rows);
        int total=count/Integer.parseInt(rows);
        String totalrow=String.valueOf(total+1);

        rs = statement.executeQuery("SELECT * FROM subgrid where gridid='"+id+"' limit "+limitstart+","+rows);  

        JSONObject responcedata=new JSONObject();
        net.sf.json.JSONArray cellarray=new net.sf.json.JSONArray();

        responcedata.put("total",totalrow);
        responcedata.put("page",cpage);
        responcedata.put("records",count);

        net.sf.json.JSONArray cell=new net.sf.json.JSONArray();
        net.sf.json.JSONObject cellobj=new net.sf.json.JSONObject();

        int ii=1;
       while(rs.next()) 

       {
                cellobj.put("id",""+ii);

                //cell.add(rs.getString(1));
                cell.add(rs.getString(1));
                cell.add(rs.getString(2));
                cell.add(rs.getString(3));
                cell.add(rs.getString(4));
                cell.add(rs.getString(4));

        cellobj.put("cell",cell);
        cell.clear();
        cellarray.add(cellobj);
        ii++;
       }
        responcedata.put("rows",cellarray);
        out.println(responcedata);
person Dhrumil Shah    schedule 02.11.2010
comment
Тем не менее, кто-то не может добиться успеха, пожалуйста, дайте мне знать, я помогу ему / ей. Спасибо, Дхрумил Шах. - person Dhrumil Shah; 02.11.2010
comment
Привет, Друмил Шах, не могли бы вы рассказать мне о структуре стола? - person Rakesh Sabbani; 24.06.2011
comment
@ Ракеш, я не могу тебя понять. для чего нужна структура таблицы БД. Столбцы, которые вы хотите отображать в сетке, помещаются в cell.add(rs.getString(1)); cell.add(rs.getString(2)); cell.add(rs.getString(3)); этот код, а также указать имена моделей столбцов сетки. вы получите результат. Я думаю, вы поняли мою точку зрения. Если у вас все еще есть проблема, пожалуйста, спросите в деталях. - person Dhrumil Shah; 30.06.2011

Вы действительно изучили весь интернет? Впечатляющий. Все демонстрации на демонстрационной странице jqGrid показывают необходимый код, даже код на стороне сервера. Вам просто нужно преобразовать их PHP в код JSP/Servlet.

person Gregg    schedule 25.10.2010
comment
Я человек Спасибо за ваш ответ. на самом деле у меня проблема с преобразованием PHP-кода в jsp, еще часть, которую я знаю. если вы поможете мне преобразовать это, Хартли признателен. Драмил Шах - person Dhrumil Shah; 26.10.2010
comment
Затем вы должны опубликовать соответствующий код, с которым у вас возникли проблемы, в новом вопросе. Или отредактируйте этот вопрос с дополнительной информацией. - person Gregg; 26.10.2010