Forum

November 2nd, 2014
A A A
Avatar

Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

The forums are currently locked and only available for read only access
sp_Feed Topic RSS sp_TopicIcon
jqGrid Problem - query repeat always two times
15/03/2011
20:57
Avatar
mariusv5
New Member
Members
Forum Posts: 2
Member Since:
15/03/2011
sp_UserOfflineSmall Offline

I've a problem with a jqGrid.

I'had built json method for retrieve records from database table. This method is always throws 2 times.

struts.xml

  <package name="PLogView" extends="struts-default">
        <action name="log" class="appl.LogAction" method="initLog">
            <result name="success">/jsp/logs.jsp</result>
            <result name="error">/jsp/error.jsp</result>
        </action>
  </package>

  <package name="PLogJqgrid" extends="json-default">
        <action name="log_jqgrid" class="appl.LogAction" method="getList">
            <result name="success" type="json" />
            <result name="error" type="json" />
        </action>
  </package>

LogAction.java - method getList()

    public String getList() {
        String title = getText("log.title.list");
        String result = ActionSupport.SUCCESS;
        SqlSession sqlSession = null;

        try {
            Map<String, Object> session = ActionContext.getContext().getApplication();
            sqlSession = ((SqlSessionFactory) session.get("sqlFactory")).openSession(true);

            // Count all logs record
            setRecords((Integer) sqlSession.selectOne("getCountLogs"));

            // Calucalate until rows ware selected
            int to = (getRows() * getPage());
            // Set to = max rows
            if (to > getRecords()){
                to = getRecords();
                setPage(getTotal());
            }

            // Calculate the first row to read
            int from = to - getRows();
            // Set to = max rows
            if (from < 0)
                from = 0;

            // Retrieve logs records
            HashMap<String, Integer> params = new HashMap<String, Integer>();
            params.put("from", from);
            params.put("to", to);
            setLogsList(sqlSession.selectList("getLogs", params));

            // Calculate total pages
            setTotal((int) Math.ceil((double) getRecords() / (double) getRows()));
        } catch (Exception e) {
            addActionError(getText("read.error", getTextElements(title)));
            setError(getText("read.error", getTextElements(title)));
            logger.error(e.getMessage(), e);
            result = ActionSupport.ERROR;
        } finally {
            try {
                if (sqlSession != null) {
                    sqlSession.close();
                }
            } catch (Exception e) {
                logger.error("Generic exception during close database session", e);
            }
        }

        return result;
    }

log.jsp

<html>
    <head>
    <title><s:text name="application.title"/></title>

<jsp:include page="include/header.jsp" flush="false"></jsp:include>

        <script type="text/javascript">
            jQuery(document).ready(function()
            {

                // Refresh log list
                function rowsrefresh(event, data)
                {
                    $("#list").trigger("reloadGrid");
                }

                jQuery("#list").jqGrid
                ({
                    url: 'log_jqgrid',
                    datatype: 'json',
                    datastr: 'logsList',
                    mtype: 'POST',
                    height: '230px',
                    autowidth: true,
                    rowNum: 10,
                    rowList: [],
                    viewrecords: true,
                    pager: jQuery('#pager'),
                    jsonReader: {root: 'logsList', repeatitems: false},                     
                    colNames:
                    [
                        '<s:text name="log.grid.colName.username"/>',
                        '<s:text name="log.grid.colName.action"/>',
                        '<s:text name="log.grid.colName.datetime"/>',
                    ],
                    colModel:
                    [
                        {name:'username',     editable:false,  hidden:false, sortable:false},
                        {name:'action',         editable:false,  hidden:false, sortable:false},
                        {name:'actiontime',    editable:false,  hidden:false, sortable:false}
                    ]
                }).navGrid("#pager", {refresh:false, add:false, edit:false, del:false, search:false})
                .navButtonAdd("#pager", {caption:'', title:'<s:text name="function.refresh"/>',    buttonicon:'ui-icon-refresh',    onClickButton:function (event, data) {rowsrefresh();}});

    </head>

    <body>

      <div id="main">

            <table id="list" class="scroll"></table>
            <div id="pager" class="scroll"></div>
        </div>
    </body>
</html>

Give me a hand, please ?

Thanks in advance,

mariusv5.

Forum Timezone: Europe/Sofia

Most Users Ever Online: 715

Currently Online:
94 Guest(s)

Top Posters:

OlegK: 1255

markw65: 179

kobruleht: 144

phicarre: 132

YamilBracho: 124

Renso: 118

Member Stats:

Guest Posters: 447

Members: 11373

Moderators: 2

Admins: 1

Forum Stats:

Groups: 1

Forums: 8

Topics: 10592

Posts: 31289

Newest Members:

, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.com

Moderators: tony: 7721, Rumen[Trirand]: 81

Administrators: admin: 66

Comments are closed.
Privacy Policy   Terms and Conditions   Contact Information