Maison >interface Web >js tutoriel >Le puissant plug-in de table de Jqgrid, application_jquery

Le puissant plug-in de table de Jqgrid, application_jquery

WBOY
WBOYoriginal
2016-05-16 15:28:101352parcourir

jqGrid est un puissant plug-in de table basé sur jQuery. En utilisant jqGrid, vous pouvez facilement implémenter une communication asynchrone ajax entre la page frontale et les données d'arrière-plan. jqGrid s'exécute très rapidement et peut être bien utilisé dans certains systèmes de gestion en arrière-plan. pour gérer un grand nombre de situations de données.

Fonctionnalités de jqGrid :

Basé sur le thème jquery UI, les développeurs peuvent modifier différents thèmes en fonction des exigences du client.
Compatible avec tous les navigateurs Web populaires actuels.
La pagination Ajax peut contrôler le nombre d'enregistrements affichés sur chaque page.
Prend en charge les sources de données sous forme de XML, JSON et de tableaux.
Fournit une configuration d’options riche et une interface d’événement de méthode.
Prend en charge le tri des tableaux, le déplacement des colonnes et le masquage des colonnes.
Prend en charge le chargement des données par défilement.
Prend en charge l'édition et la sauvegarde en temps réel du contenu des données.
Prend en charge les sous-tables et les tables arborescentes.
Prend en charge plusieurs langues.
Le plus important c’est que c’est gratuit pour le moment.

Comment utiliser jqGrid

1. Tout d'abord, vous devez télécharger la dernière version du package depuis le site officiel de jqGrid. Vous pouvez la télécharger ici : http://www.trirand.com/blog/ 2. Créez deux nouveaux dossiers css et js dans le répertoire WEB, placez les fichiers css et js pertinents, créez un fichier de page index.html, ouvrez-le avec votre éditeur de texte préféré et saisissez le code :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ 
xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Grid</title> 
<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.8.2.custom.css" /> 
<link rel="stylesheet" type="text/css" href="css/ui.jqgrid.css" /> 
<script src="js/jquery.js" type="text/javascript"></script> 
<script src="js/i18n/grid.locale-cn.js" type="text/javascript"></script> 
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 
</head> 
<body> 
... 
</body> 
</html> 
3. Ajoutez le code suivant au corps :

<table id="list"></table> 
<div id="pager"></div> 
#list est utilisé pour charger la liste de données et #page est utilisé pour afficher la barre de pagination.

4. Appelez le plug-in jqGrid et ajoutez le code js suivant à la page

$("#list").jqGrid({ 
  caption: '手机产品列表', 
  url:'server.php', 
  datatype: "json", 
    colNames:['编号','名称','主屏尺寸','操作系统','电池容量', '价格(¥)','操作'], 
    colModel:[ 
      {name:'sn',index:'sn', width:80,align:'center'}, 
      {name:'title',index:'title', width:180}, 
      {name:'size',index:'size', width:120}, 
    {name:'os',index:'os', width:120}, 
      {name:'charge',index:'charge', width:100,align:'center'}, 
    {name:'price',index:'price', width:80,align:'center'}, 
      {name:'opt',index:'opt', width:80, sortable:false, align:'center'}     
    ], 
    rowNum:10, 
    rowList:[10,20,30], 
    pager: '#pager', 
    sortname: 'id', 
  autowidth: true, 
  height:280, 
  viewrecords: true, 
  multiselect: true, 
  multiselectWidth: 25, 
  sortable:true, 
  sortorder: "asc" 
 }); 
À ce stade, lorsque nous prévisualisons index.html, nous constatons que la forme du tableau a été rendue et que seules les données doivent être remplies. Si vous ne voyez toujours aucun résultat à ce stade, veuillez vérifier que le chemin de votre fichier est correct.

5. Charger les données.

Nous utilisons php pour lire les données MySQL et renvoyer les données au format json à jqGrid pour afficher les données. Nous préparons un tableau de données pour enregistrer les informations sur les produits de téléphonie mobile. La structure est la suivante :

CREATE TABLE IF NOT EXISTS `products` ( 
 `id` int(11) NOT NULL AUTO_INCREMENT, 
 `sn` varchar(10) NOT NULL, 
 `title` varchar(60) NOT NULL, 
 `size` varchar(30) NOT NULL, 
 `os` varchar(50) NOT NULL, 
 `charge` varchar(50) DEFAULT NULL, 
 `screen` varchar(50) DEFAULT NULL, 
 `design` varchar(50) DEFAULT NULL, 
 `price` int(10) NOT NULL, 
 `addtime` datetime NOT NULL 
 PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
Ensuite, lisez les données dans server.php et affichez les données json :

//连接数据库 
include_once ('connect.php'); 
$page = $_GET['page']; 
$limit = $_GET['rows']; 
$sidx = $_GET['sidx']; 
$sord = $_GET['sord']; 
if (!$sidx) 
  $sidx = 1; 
$result = mysql_query("SELECT COUNT(*) AS count FROM products where deleted=0"); 
$row = mysql_fetch_array($result, MYSQL_ASSOC); 
$count = $row['count']; 
if ($count > 0) { 
  $total_pages = ceil($count / $limit); 
} else { 
  $total_pages = 0; 
} 
if ($page > $total_pages) 
  $page = $total_pages; 
$start = $limit * $page - $limit; 
$SQL = "SELECT * FROM products WHERE deleted=0 ORDER BY $sidx $sord LIMIT $start , $limit"; 
$result = mysql_query($SQL) or die("Couldn t execute query." . mysql_error()); 
$responce->page = $page; 
$responce->total = $total_pages; 
$responce->records = $count; 
$i = 0; 
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
  $responce->rows[$i]['id'] = $row[id]; 
  $opt = "<a href='edit.php'>修改</a>"; 
  $responce->rows[$i]['cell'] = array ( 
    $row[sn], 
    $row[title], 
    $row[size], 
    $row[os], 
    $row[charge], 
    $row[price], 
    $opt 
  ); 
  $i++; 
} 
echo json_encode($responce); 
À ce stade, si vous saisissez des données dans le tableau de données, vous pouvez afficher le tableau de données sur la page, puis trier et paginer. Ensuite, je vais organiser la description de l'option jqGrid dans un document et la partager avec tout le monde. Ensuite, à partir de l'application réelle du projet, je donnerai des exemples pour expliquer l'application de l'ajout de suppression, de visualisation, de recherche de données et d'autres services.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn