第一步:引入文件,具体下载的地址网上很多,这里不在罗嗦。
<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("&", "&");
str=str.replaceAll("<", "<");
str=str.replaceAll(">", ">");
str=str.replaceAll("'", "'");
str=str.replaceAll("\"", """);
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进行。
分享到:
相关推荐
jQuery Grid,简称jqGrid,是一款基于jQuery的开源数据网格插件,用于展示和管理大量结构化的数据。它提供了丰富的功能,如分页、排序、筛选、编辑、添加、删除以及自定义操作等,使得在Web应用中处理表格数据变得...
**jQuery Grid 框架详解** ...总的来说,jQuery Grid 是一款功能强大、易于使用的表格插件,能够帮助开发者高效地构建数据密集型的 Web 应用。熟练掌握其使用,可以极大地提升开发效率和用户体验。
通过学习和使用这个 demo,你可以快速掌握如何在实际项目中使用 jqGrid。 8. **JSP 集成** 尽管这个 demo 主要是与 PHP 集成,但 jqGrid 也支持 JSP。将 PHP 部分替换为 JSP 代码,同样可以实现数据的获取和操作。...
这个"jqGrid(jqueryGrid表格操作demo)"是一个示例项目,用于演示如何在Visual Studio 2010环境下使用jqGrid实现类似Excel的表格操作。 首先,jqGrid的核心特性包括: 1. 数据加载:它可以动态地从服务器获取数据...
在这个`MVC demo`中,我们看到的是将`jqGrid`集成到ASP.NET MVC框架的应用实例,同时还有`jqChart`的使用,这是一个用于创建图表的jQuery插件。 **ASP.NET MVC框架** ASP.NET MVC是一种模型-视图-控制器(Model-...
jqGrid是一款基于jQuery的开源数据网格插件,用于在网页上展示和操作表格数据。它在Web开发领域中被广泛使用,特别是在需要处理大量结构化数据的场景下。jqGrid 3.5版本是该插件的一个较早版本,但仍然具有丰富的...
"jquery grid demo code"是用于展示jqGrid功能的实例代码,可以帮助开发者快速理解和掌握该插件的用法。 jqGrid的亮点在于其丰富的特性: 1. **数据加载**:jqGrid支持从服务器动态加载数据,可以轻松处理大量数据...
本资源“jqGrid_demo”包含了一个关于 jqGrid 使用的示例,帮助开发者了解如何在项目中集成和自定义这个功能丰富的表格插件。 1. **jqGrid 概述** jqGrid 是基于 jQuery 的开源数据网格组件,它支持多种数据源,如...
`jqGrid`是一款基于JavaScript的开源数据网格组件,主要用于展示和操作大量数据。...`jqGrid 3.5`是该组件的一...同时,由于`jqGrid`是基于jQuery的,因此也需要对jQuery库有一定的理解,才能更好地利用`jqGrid`进行开发。
《jQuery表格树插件GridTree懒加载版本:高效处理大数据量的解决方案》 在Web开发中,处理大数据量的表格往往是一项挑战。传统的表格展示方式可能导致页面加载缓慢,用户体验下降。为了解决这一问题,出现了jQuery...
这个"jqGrid demo"包含了两个主要的压缩包文件:`jquery.jqGrid-4.4.3.zip` 和 `jquery-ui-1.9.2.custom.zip`,以及一个名为“demo”的文件或文件夹,这通常意味着它包含了一些示例代码或者演示如何使用jqGrid的实例...
通过提供的`jqGriddemo38.zip`和`mleibman-SlickGrid-1.4b2-0-g776dffa.zip`文件,你可以分别体验这两个组件的实际应用。解压后,你可以看到示例代码和相关的HTML、CSS、JavaScript文件,这将帮助你快速理解和学习...
jqGrid是一款非常强大的jQuery插件,用于创建高度可定制的数据网格。这个组件允许用户轻松地展示、操作和管理大量数据,提供了丰富的功能,如排序、分页、过滤、编辑和更多。在本篇文章中,我们将深入探讨jqGrid的...
2. **js** 目录:这个目录通常包含 jqGrid 插件所需的 JavaScript 文件,如 jqGrid 的主文件(如 `grid.base.js`)、扩展功能的文件(如 `grid.tbltogrid.js`)和其他相关脚本。 3. **plugins** 目录:jqGrid 允许...
jQuery Grid,通常指的是JQGrid,是一款基于jQuery库的开源表格插件。它允许开发者创建功能强大的网格视图,支持数据分页、排序、搜索、编辑和许多自定义选项。JQGrid基于AJAX,能够与服务器端进行异步数据交换,...
$("#grid").jqGrid({ url: 'server.php', // 数据来源 datatype: 'json', // 数据类型 colModel: [ // 列定义 {name: 'id', index: 'id', width: 55}, {name: 'name', index: 'name', width: 100}, // ... ],...
jqGrid是一款基于jQuery的开源数据网格插件,用于在网页上展示和操作大量数据。它提供了丰富的功能,包括数据分页、排序、过滤、编辑、添加和删除等。3.5 beta版本是jqGrid的一个重要迭代,引入了更多改进和新特性。...
在本"JqGrid国际化Demo.zip"中,我们将探讨如何使用JqGrid的国际化插件来实现多语言支持,让应用能够适应全球不同地区的用户需求。 JqGrid的国际化功能允许开发者为不同的语言提供本地化的界面文本。这包括列头、...
1. `js`目录:这是jqGrid4的核心JavaScript文件所在地,包括`grid.base.js`(基础功能)、`grid.common.js`(通用功能)、`grid.jqueryui.js`(与jQuery UI集成)以及各种扩展功能的文件,如`grid.inlinedit.js`...