1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>jsGrid - Custom Row Renderer</title>
- <link rel="stylesheet" type="text/css" href="demos.css" />
- <link href='http://fonts.googleapis.com/css?family=Open+Sans:300,600,400' rel='stylesheet' type='text/css'>
- <link rel="stylesheet" type="text/css" href="../css/jsgrid.css" />
- <link rel="stylesheet" type="text/css" href="../css/theme.css" />
- <script src="../external/jquery/jquery-1.8.3.js"></script>
- <script src="../src/jsgrid.core.js"></script>
- <script src="../src/jsgrid.load-indicator.js"></script>
- <script src="../src/jsgrid.load-strategies.js"></script>
- <script src="../src/jsgrid.sort-strategies.js"></script>
- <script src="../src/jsgrid.field.js"></script>
- <style>
- .client-photo { float: left; margin: 0 20px 0 10px; }
- .client-photo img { border-radius: 50%; border: 1px solid #ddd; }
- .client-info { margin-top: 10px; }
- .client-info p { line-height: 25px; }
- </style>
- </head>
- <body>
- <h1>Custom Row Renderer</h1>
- <div id="jsGrid"></div>
- <script>
- $(function() {
- $("#jsGrid").jsGrid({
- height: "80%",
- width: "50%",
- autoload: true,
- paging: true,
- controller: {
- loadData: function() {
- var deferred = $.Deferred();
- $.ajax({
- url: 'http://api.randomuser.me/?results=40',
- dataType: 'jsonp',
- success: function(data){
- deferred.resolve(data.results);
- }
- });
- return deferred.promise();
- }
- },
- rowRenderer: function(item) {
- var user = item;
- var $photo = $("<div>").addClass("client-photo").append($("<img>").attr("src", user.picture.large));
- var $info = $("<div>").addClass("client-info")
- .append($("<p>").append($("<strong>").text(user.name.first.capitalize() + " " + user.name.last.capitalize())))
- .append($("<p>").text("Location: " + user.location.city.capitalize() + ", " + user.location.street))
- .append($("<p>").text("Email: " + user.email))
- .append($("<p>").text("Phone: " + user.phone))
- .append($("<p>").text("Cell: " + user.cell));
- return $("<tr>").append($("<td>").append($photo).append($info));
- },
- fields: [
- { title: "Clients" }
- ]
- });
- String.prototype.capitalize = function() {
- return this.charAt(0).toUpperCase() + this.slice(1);
- };
- });
- </script>
- </body>
- </html>
|