Add datatables-1.9.4 and jquery-1.10.2 libraries
[proteocache.git] / webapp / resources / datatables-1.9.4 / examples / server_side / select_rows.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3         <head>
4                 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5                 <link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
6                 
7                 <title>DataTables example</title>
8                 <style type="text/css" title="currentStyle">
9                         @import "../../media/css/demo_page.css";
10                         @import "../../media/css/demo_table.css";
11                 </style>
12                 <script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
13                 <script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
14                 <script type="text/javascript" charset="utf-8">
15 $(document).ready(function() {
16         var aSelected = [];
17         
18         /* Init the table */
19         $("#example").dataTable({
20                 "bProcessing": true,
21                 "bServerSide": true,
22                 "sAjaxSource": "scripts/id.php",
23                 "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
24                         if ( jQuery.inArray(aData.DT_RowId, aSelected) !== -1 ) {
25                                 $(nRow).addClass('row_selected');
26                         }
27                 }
28         });
29         
30         /* Click event handler */
31         $('#example tbody tr').live('click', function () {
32                 var id = this.id;
33                 var index = jQuery.inArray(id, aSelected);
34                 
35                 if ( index === -1 ) {
36                         aSelected.push( id );
37                 } else {
38                         aSelected.splice( index, 1 );
39                 }
40                 
41                 $(this).toggleClass('row_selected');
42         } );
43 } );
44                 </script>
45         </head>
46         <body id="dt_example">
47                 <div id="container">
48                         <div class="full_width big">
49                                 DataTables server-side processing with user selectable rows example
50                         </div>
51                         
52                         <h1>Preamble</h1>
53                         <p>When you want to detail with user selectable rows and DataTables, it is relatively simple when using DOM based data - but if using server-side processing, DataTables doesn't retain state over pages / filters etc, leaving this to the server-side instead. As such, you will need to keep a track of which rows a user as selected and mark them as selected on each draw. This is shown in this demo, which uses a unique ID assigned to the TR element (this is done automatically through the use of the <i>DT_RowId</i> special property returned as part of the object given by the server for each row).</p>
54                         
55                         <h1>Live example</h1>
56                         <div id="dynamic">
57 <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
58         <thead>
59                 <tr>
60                         <th width="20%">Rendering engine</th>
61                         <th width="25%">Browser</th>
62                         <th width="25%">Platform(s)</th>
63                         <th width="15%">Engine version</th>
64                         <th width="15%">CSS grade</th>
65                 </tr>
66         </thead>
67         <tbody>
68                 <tr>
69                         <td colspan="5" class="dataTables_empty">Loading data from server</td>
70                 </tr>
71         </tbody>
72         <tfoot>
73                 <tr>
74                         <th>Rendering engine</th>
75                         <th>Browser</th>
76                         <th>Platform(s)</th>
77                         <th>Engine version</th>
78                         <th>CSS grade</th>
79                 </tr>
80         </tfoot>
81 </table>
82                         </div>
83                         <div class="spacer"></div>
84                         
85                         
86                         <h1>Initialisation code</h1>
87                         <pre class="brush: js;">$(document).ready(function() {
88         var aSelected = [];
89         
90         /* Init the table */
91         $("#example").dataTable({
92                 "bProcessing": true,
93                 "bServerSide": true,
94                 "sAjaxSource": "scripts/id.php",
95                 "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
96                         if ( jQuery.inArray(aData.DT_RowId, aSelected) !== -1 ) {
97                                 $(nRow).addClass('row_selected');
98                         }
99                 }
100         });
101         
102         /* Click event handler */
103         $('#example tbody tr').live('click', function () {
104                 var id = this.id;
105                 var index = jQuery.inArray(id, aSelected);
106                 
107                 if ( index === -1 ) {
108                         aSelected.push( id );
109                 } else {
110                         aSelected.splice( index, 1 );
111                 }
112                 
113                 $(this).toggleClass('row_selected');
114         } );
115 } );</pre>
116                         <style type="text/css">
117                                 @import "../examples_support/syntax/css/shCore.css";
118                         </style>
119                         <script type="text/javascript" language="javascript" src="../examples_support/syntax/js/shCore.js"></script>
120
121                         <h1>Server response</h1>
122                         <p>The code below shows the latest JSON data that has been returned from the server in response to the Ajax request made by DataTables. This will update as further requests are made.</p>
123                         <pre id="latest_xhr" class="brush: js;"></pre>
124                         
125                         
126                         <h1>Other examples</h1>
127                         <div class="demo_links">
128                                 <h2>Basic initialisation</h2>
129                                 <ul>
130                                         <li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
131                                         <li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
132                                         <li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
133                                         <li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
134                                         <li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
135                                         <li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
136                                         <li><a href="../basic_init/complex_header.html">Complex headers - grouping with colspan</a></li>
137                                         <li><a href="../basic_init/dom.html">DOM positioning</a></li>
138                                         <li><a href="../basic_init/flexible_width.html">Flexible table width</a></li>
139                                         <li><a href="../basic_init/state_save.html">State saving</a></li>
140                                         <li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
141                                         <li>Scrolling: <br>
142                                                 <a href="../basic_init/scroll_x.html">Horizontal</a> / 
143                                                 <a href="../basic_init/scroll_y.html">Vertical</a> / 
144                                                 <a href="../basic_init/scroll_xy.html">Both</a> / 
145                                                 <a href="../basic_init/scroll_y_theme.html">Themed</a> / 
146                                                 <a href="../basic_init/scroll_y_infinite.html">Infinite</a>
147                                         </li>
148                                         <li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
149                                         <li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
150                                 </ul>
151                                 
152                                 <h2>Advanced initialisation</h2>
153                                 <ul>
154                                         <li>Events: <br>
155                                                 <a href="../advanced_init/events_live.html">Live events</a> / 
156                                                 <a href="../advanced_init/events_pre_init.html">Pre-init</a> / 
157                                                 <a href="../advanced_init/events_post_init.html">Post-init</a>
158                                         </li>
159                                         <li><a href="../advanced_init/column_render.html">Column rendering</a></li>
160                                         <li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
161                                         <li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
162                                         <li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
163                                         <li><a href="../advanced_init/complex_header.html">Complex headers and hidden columns</a></li>
164                                         <li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
165                                         <li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
166                                         <li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
167                                         <li><a href="../advanced_init/row_callback.html">Row callback</a></li>
168                                         <li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
169                                         <li><a href="../advanced_init/sorting_control.html">Control sorting direction of columns</a></li>
170                                         <li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
171                                         <li><a href="../advanced_init/defaults.html">Setting defaults</a></li>
172                                         <li><a href="../advanced_init/localstorage.html">State saving with localStorage</a></li>
173                                         <li><a href="../advanced_init/dt_events.html">Custom events</a></li>
174                                 </ul>
175                                 
176                                 <h2>API</h2>
177                                 <ul>
178                                         <li><a href="../api/add_row.html">Dynamically add a new row</a></li>
179                                         <li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
180                                         <li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
181                                         <li><a href="../api/highlight.html">Highlight rows and columns</a></li>
182                                         <li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
183                                         <li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
184                                         <li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
185                                         <li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
186                                         <li><a href="../api/form.html">Submit form with elements in table</a></li>
187                                         <li><a href="../api/counter_column.html">Index column (static number column)</a></li>
188                                         <li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
189                                         <li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
190                                         <li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
191                                         <li><a href="../api/regex.html">Regular expression filtering</a></li>
192                                 </ul>
193                         </div>
194                         
195                         <div class="demo_links">
196                                 <h2>Data sources</h2>
197                                 <ul>
198                                         <li><a href="../data_sources/dom.html">DOM</a></li>
199                                         <li><a href="../data_sources/js_array.html">Javascript array</a></li>
200                                         <li><a href="../data_sources/ajax.html">Ajax source</a></li>
201                                         <li><a href="../data_sources/server_side.html">Server side processing</a></li>
202                                 </ul>
203                                 
204                                 <h2>Server-side processing</h2>
205                                 <ul>
206                                         <li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
207                                         <li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
208                                         <li><a href="../server_side/post.html">Use HTTP POST</a></li>
209                                         <li><a href="../server_side/ids.html">Automatic addition of IDs and classes to rows</a></li>
210                                         <li><a href="../server_side/object_data.html">Reading table data from objects</a></li>
211                                         <li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
212                                         <li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
213                                         <li><a href="../server_side/jsonp.html">JSONP for a cross domain data source</a></li>
214                                         <li><a href="../server_side/editable.html">jEditable integration with DataTables</a></li>
215                                         <li><a href="../server_side/defer_loading.html">Deferred loading of Ajax data</a></li>
216                                         <li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
217                                 </ul>
218                                 
219                                 <h2>Ajax data source</h2>
220                                 <ul>
221                                         <li><a href="../ajax/ajax.html">Ajax sourced data (array of arrays)</a></li>
222                                         <li><a href="../ajax/objects.html">Ajax sourced data (array of objects)</a></li>
223                                         <li><a href="../ajax/defer_render.html">Deferred DOM creation for extra speed</a></li>
224                                         <li><a href="../ajax/null_data_source.html">Empty data source columns</a></li>
225                                         <li><a href="../ajax/custom_data_property.html">Use a data source other than aaData (the default)</a></li>
226                                         <li><a href="../ajax/objects_subarrays.html">Read column data from sub-arrays</a></li>
227                                         <li><a href="../ajax/deep.html">Read column data from deeply nested properties</a></li>
228                                 </ul>
229                                 
230                                 <h2>Plug-ins</h2>
231                                 <ul>
232                                         <li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
233                                         <li><a href="../plug-ins/sorting_plugin.html">Sorting and automatic type detection</a></li>
234                                         <li><a href="../plug-ins/sorting_sType.html">Sorting without automatic type detection</a></li>
235                                         <li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
236                                         <li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
237                                         <li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
238                                         <li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
239                                 </ul>
240                         </div>
241                         
242                         
243                         <div id="footer" class="clear" style="text-align:center;">
244                                 <p>
245                                         Please refer to the <a href="http://www.datatables.net/usage">DataTables documentation</a> for full information about its API properties and methods.<br>
246                                         Additionally, there are a wide range of <a href="http://www.datatables.net/extras">extras</a> and <a href="http://www.datatables.net/plug-ins">plug-ins</a> which extend the capabilities of DataTables.
247                                 </p>
248                                 
249                                 <span style="font-size:10px;">
250                                         DataTables designed and created by <a href="http://www.sprymedia.co.uk">Allan Jardine</a> &copy; 2007-2011<br>
251                                         DataTables is dual licensed under the <a href="http://www.datatables.net/license_gpl2">GPL v2 license</a> or a <a href="http://www.datatables.net/license_bsd">BSD (3-point) license</a>.
252                                 </span>
253                         </div>
254                 </div>
255         </body>
256 </html>