Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

.. contents::

Detailed Documentation
**********************


tw.jqgrid documentation
=======================


tw.jqmultiselect is a tosca widget wrapper around jquery grid plugin
which can be found here :

`http://www.trirand.com/blog/`_

the version released with this package is 3.7.2

in the view controller ::

from tw.jqgrid import JqGrid
colNames = ['ID','Title', 'Synopsis']
colModel = [
{'name':'id', 'index':'id', 'width':20, 'align':'right'},
{'name':'title', 'index':'title','width':100, 'align':'left'},
{'name':'synopsis', 'index':'synopsis','width':580, 'align':'left', 'sortable':False},
]
search_options = {
"caption": "Search...",
"Find": "Find",
"Reset": "Reset",
"sopt" : ['cn', 'bw'],
"closeOnEscape":True,
}

navbuttons_options = {
"view":False,
"edit": False,
"add": False,
"del": False,
"search":True,
"refresh":True,
}

grid_local = JqGrid(id='movie_list', url='fetch', caption='Movies',
colNames=colNames, colModel=colModel,
rowList=[5,10], rowNum=5,
sortname='title',
viewrecords=True,
autowidth=True,
shrinkToFit=True,
search_options = search_options,
navbuttons_options = navbuttons_options,
)


class MoviesController(BaseRestController):

@expose('project.templates.movies.get_all')
def get_all(self):
pylons.c.grid = grid_local
return dict(page='all movies')

in the template::

${tmpl_context.grid()}

now to feed data we need a controller::

@expose('json')
def fetch(self, page=1, rows=10, sidx=1, sord='asc', _search='false',\
searchOper=u'', searchField=u'', searchString=u'', **kwargs):
offset = (int(page)-1) * int(rows)
q = Movie.query
search_bool = eval(_search.capitalize())
if (search_bool):
field = str(searchField)
field_attr = Movie.__getattribute__(Movie, field)
if searchOper == u'cn':
q = medias_q.filter(field_attr.like(u'%%%s%%' % searchString))
if searchOper == u'bw':
q = q.filter(field_attr.like(u'%s%%' % searchString))

result_count = medias_q.count()
total = 1 + result_count / int(rows)
column = getattr(Movie.table.c, sidx)
movies = q.order_by(getattr(column,sord)()).offset(offset).limit(rows)
rows = [{'id' : movie.id,
'cell': [movie.id, '<a href="/medias/%s/">%s</a>' % (movie.id, movie.title),
movie.synopsis]} for movie in movies]
return dict(page=page, total=total, records=result_count, rows=rows)

.. note:: this is written for an elixir model, adapt to your need

design it:

tw.jqgrid rely on tw.uitheme for its design, the smooth theme is the default
you can use any other theme, or roll your own `http://jqueryui.com/themeroller/`_

below a code snippet on how to do that::

from tw.uitheme import lefrog_css, peppergrinder_css
from tw.jqgrid import jqgrid_css, jqgrid_search_css

class CustomGrid(JqGrid):
css = [peppergrinder_css, jqgrid_css, jqgrid_search_css]

grid_local = CustomGrid(.....


Contributors
************


Main developpers
================

* Nicolas Laurance <nicolas[dot]laurance[at]gmail[dot]com>

with contributions from
-----------------------

* Tuomas Peltonen

Change history
**************

New in 0.1
==========

0.1a3
added sortorder param to allow setting of default order
thanks to : Tuomas Peltonen

0.1a2
added parameters for subgrids

0.1a1
added dependency on tw.uitheme for design

0.1a0
First Release

Metadata

Release files for tw.jqgrid 0.1a3dev-20100806

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tw.jqgrid 0.1a3dev-20100806
File Size Uploaded
tw.jqgrid-0.1a3dev-20100806.tar.gz 76.7 kB Details

Release files / tw.jqgrid-0.1a3dev-20100806.tar.gz

Download URL tw.jqgrid-0.1a3dev-20100806.tar.gz
Size 76.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3de393265147f0b79d142fc18da571a9033ca7a952cc084ad07296ab3d833d27
BLAKE2b-256 checksum
How to use checksums
2f93a2a6a3ac399993d0b4827eb85b895370d4b27430d09366e104d98468e542
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page