`
hewei870723
  • 浏览: 61954 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Jquery Grid插件jqGrid的使用demo

阅读更多

第一步:引入文件,具体下载的地址网上很多,这里不在罗嗦。

<link href="themes/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<link href="themes/redmond/jquery-ui-1.7.1.custom.css" rel="stylesheet" type="text/css" />
 
<script src="js/jquery.js" type="text/javascript"> </script>
<script src="js/jquery-ui-1.7.1.custom.min.js" type="text/javascript"> </script>
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="js/jquery.jqGrid.min.js" type="text/javascript"> </script>
 第二步:编写前台

<table id="alertsTable"></table>

 

<script type="text/javascript">
$(function(){
 jQuery("#alertsTable").jqGrid({
     url: 'GetAlertsServlet?time=<%=time %>',     <!--time为request接收传递的参数 -->
  datatype: "xml",
     colNames:["告警序列号","子系统", "告警级别", "最近发生时间"," 告警分组","告警关键字","告警摘要","中文参考","告警节点","IP地址","重复次数","短信通知人","应用名称"],
     colModel:[
      {name:"Serial",index:"Serial", width:100,align:"center",xmlmap:"ItemAttributes>Serial"},
      {name:"Agent",index:"Agent", width:80,align:"center",xmlmap:"ItemAttributes>Agent"},
      {name:"Severity",index:"Severity", width:85, align:"right",xmlmap:"ItemAttributes>Severity"},
      {name:"LastOccurrence",index:"LastOccurrence",align:"left", width:130,xmlmap:"ItemAttributes>LastOccurrence",sorttype:"date"},
      {name:"AlertGroup",index:"AlertGroup", width:150, xmlmap:"ItemAttributes>AlertGroup"},
      {name:"AlertKey",index:"AlertKey", width:150,xmlmap:"ItemAttributes>AlertKey"},
      {name:"Summary",index:"Summary", width:200, align:"right",xmlmap:"ItemAttributes>Summary"},
      {name:"CNSummary",index:"CNSummary", width:200,xmlmap:"ItemAttributes>CNSummary"},
      {name:"Node",index:"Node", width:100, xmlmap:"ItemAttributes>Node"},
      {name:"IPAddress",index:"IPAddress", width:100,xmlmap:"ItemAttributes>IPAddress"},
      {name:"Tally",index:"Tally", width:85, align:"right",xmlmap:"ItemAttributes>Tally"},
      {name:"SMSContract",index:"SMSContract", width:130,xmlmap:"ItemAttributes>SMSContract"},
      {name:"AppName",index:"AppName", width:120, xmlmap:"ItemAttributes>AppName"},
     ],
  height:600,
     rowNum:1000,
     rowList:[20,50,100],
     viewrecords: true,
  loadonce: true,
  xmlReader: {
    root : "Items",
    row: "Item",
    repeatitems: false,
    id: "ASIN"
  },
  caption: "关联告警"
 });
});

</script>
 

第三步:编写后台代码,我这里后台采用XML的形式

request.setCharacterEncoding("utf-8");
  response.setHeader("Pragma", "No-cache");
  response.setHeader("Cache-Control", "no-cache");
  response.setDateHeader("Expires", 0);
  response.setContentType("text/xml; charset=utf-8");

  PrintWriter out = response.getWriter();
  StringBuffer s = new StringBuffer();

  s.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
  s.append("  <Books>");
  s.append("    <Items>");
  s.append("      <Request>");
  s.append("        <IsValid>True</IsValid>");
  s.append("        <ItemSearchRequest>");
  s.append("          <SearchIndex>Books</SearchIndex>");
  s.append("        </ItemSearchRequest>");
  s.append("      </Request>");
  
  ConnectionDao dao = new ConnectionDao();
  
  List alertList = null;
  if(time==null){
   alertList = new ArrayList();
  }else{
   alertList = dao.getAlertsByTime(Long.parseLong(time));
  }
  
  for(int i=0;i<alertList.size();i++){
   Alert alert = (Alert)alertList.get(i);
   s.append("      <Item>");
   s.append("        <DetailPageURL></DetailPageURL>");
   s.append("        <ItemAttributes>");
   s.append("          <Serial>"+alert.getSerial()+"</Serial>");
   s.append("          <Agent>"+Deal.toMyString(alert.getAgent())+"</Agent>");
   s.append("          <Severity >"+alert.getSeverity()+"</Severity >");
   s.append("          <LastOccurrence>"+new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(alert.getLastOccurrence()*1000))+"</LastOccurrence>");
   s.append("          <AlertGroup>"+Deal.toMyString(alert.getAlertGroup())+"</AlertGroup>");
   s.append("          <AlertKey>"+Deal.toMyString(alert.getAlertKey())+"</AlertKey>");
   s.append("          <Summary>"+Deal.toMyString(alert.getSummary())+"</Summary>");
   s.append("          <CNSummary>"+Deal.toMyString(alert.getCnSummary())+"</CNSummary>");
   s.append("          <Node>"+Deal.toMyString(alert.getNode())+"</Node>");
   s.append("          <IPAddress>"+Deal.toMyString(alert.getIpAddress())+"</IPAddress>");
   s.append("          <Tally>"+alert.getTally()+"</Tally>");
   s.append("          <SMSContract>"+Deal.toMyString(alert.getSmsContact())+"</SMSContract>");
   s.append("          <AppName>"+Deal.toMyString(alert.getAppName())+"</AppName>");
   s.append("        </ItemAttributes>");
   s.append("      </Item>");
  }
  s.append("    </Items>");
  s.append("  </Books>");

  out.println(s.toString());
  out.flush();

在生成XML文件的时候,我这里出现一些问题,就是不同浏览器出现的界面效果不同,最后检查原因为生成XML时后缀多出些东西。处理如下:

Deal.java:

public class Deal {

 public static String toMyString(String str) {
  if(str==null){
   return str;
  }
  str=str.replaceAll("&", "&amp;");
  str=str.replaceAll("<", "&lt;");
  str=str.replaceAll(">", "&gt;");
  str=str.replaceAll("'", "&apos;");
  str=str.replaceAll("\"", "&quot;");
 
  
  byte[] mybyte = str.getBytes();
  for(int i=0; i<mybyte.length; i++) {
   if(mybyte[i] == 0) {
    mybyte[i] = 0x20;
   }
  }
  return (new String(mybyte));
 }
}

 

OK,整个简单的demo就这样完成,具体的一些其它高级功能:编辑,删除,添加,查询,分页都可以看到api进行。

 

分享到:
评论

相关推荐

    jqueryGridDemo jqGriddemo38

    jqueryGridDemo jqGriddemo38 jquery jqgrid demo与文档

    jqGrid(jqueryGrid表格操作demo)

    jquery的 表格操作demo,程序是vs2010的,类似excel表格操作数据的话,还是很有用的,简单实用强大。

    jqGrid 3.5源码+DEMO+DOC

    好用的jquery表格插件jqGrid。 本压缩包含源码和DEMO,还有一个3.4的DOC。

    jqGrid demo (完整版)

    一款完整版的jqGrid Demo ,对网站编程的朋友帮助很大 。可以简单实现PHP 与表格之间的运作,也可改编实现Jsp。

    jquery jqgrid

    jqgrid 完整版,以及使用说明完整demo附带数据库

    jqgrid demo

    jqGrid是一个Ajaxed jQuery Grid插件。提供分页功能,添加、编辑、删除和搜索表中记录,支持多种数据类型输入:XML,JSON,Array等,多行选择,支持子表格,集成日期选择控件等

    Demo:用于 MVC 演示的 JQGrid

    演示 用于 MVC 演示的 JQGrid

    jqGrid demo in JSP Struts2 & Hibernate 源码2/3

    jqGrid demo in Struts2 & Hibernate源码压缩包第二部分(part2) 这只是源码包的第二部分(part2),请同时下载其它两部分,part3 and part1

    jquery 可动态增行,动态编辑,删除的grid

    jquery 可动态增行,动态编辑,删除的grid 直接打开demo_grid.html变可运行

    jqGrid 3.4.2 源码,文档及例子

    在jquery pulgin上的jqgrid插件不能下载, 我把收集来的文件分享一下 包含源码包,文档,及Demo文件

    jqgrid 3.5

    新功能包括tree grid(树表)...等等.... 参考DEMO :http://www.trirand.com/jqgrid/jqgrid.html 在demo连接的网页右侧可以找到包含tree grid的各种例子...

    jqgrid 简单学习笔记

    JqGrid文档:...新增、删除等一些基本功能都可以去JqGrid Demo中找到。 逻辑思路:第一次加载本年度的经营计划数据,加载完成后,将JqGrid设置成本地数据,这样分页、数据查询都成customs。只能修改本

    JqSuite套件(包含JqGrid 和JqChart 等)

    JQsuit包含了JQgrid JQchart等控件内容,是非常不错的表格和图表...详情可参考:http://www.trirand.net/demo/aspnet/webforms/jqgrid/ 包括了4.5 和4.5.2的破解版。 这是针对ASP.NET版的。ASP.NET MVC 的请绕道先。

    jqGrix 初學安裝測試包 demo

    jqGrix 初學 安裝測試包,配合 jqGrid.doc 保證安裝成功

    DengueSample:课程范例网站

    专案说明 此为课程范例网站,利用一个快速打造的Web 介绍Microsoft Azure WebApp 的功能,以及如何...Grid.html jqgrid 范例 Map.html GMAP 范例 put.json精简后的json 档 Search.html Azure Search 范例 web.config

Global site tag (gtag.js) - Google Analytics