`
v5qqbrowser
  • 浏览: 356251 次
文章分类
社区版块
存档分类
最新评论

grid项目

 
阅读更多

commons-fileupload-1.2.2.jar

commons-io-2.0.1.jar

commons-lang-2.5.jar

commons-logging-1.1.1.jar

commons-logging-api-1.1.jar

freemarker-2.3.16.jar

javassist-3.11.0.GA.jar

ognl-3.0.1.jar

servlet-api.jar

struts2-core-2.2.3.jar

struts2-json-plugin-2.2.3.jar

xwork-core-2.2.3.jar

GridPanel.js

Ext.define('Ext.ux.grid.Panel', {

extend: 'Ext.grid.Panel',

//extend: 'Ext.panel.Table',

requires: ['Ext.grid.View', 'Ext.panel.Table'],

//alias: ['widget.gridpanel', 'widget.grid'],

alternateClassName: ['Ext.list.ListView', 'Ext.ListView', 'Ext.grid.GridPanel'],

viewType: 'gridview'

});

index.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<link rel="stylesheet" type="text/css" href="./js/ext/resources/css/ext-all.css" />

<!--

<link rel="stylesheet" type="text/css" href="./js/ext/shared/example.css" />

-->

<script type="text/javascript" src="./js/ext/bootstrap.js"></script>

<script type="text/javascript" src="./js/ext/ux/GridPanel.js"></script>

<script type="text/javascript" src="./js/ext/ux/TreeCombobox.js"></script>

<script type="text/javascript" src="./js/Store.js"></script>

<script type="text/javascript">

Ext.Loader.setConfig({enabled: true});

Ext.Loader.setPath('Ext.ux', './js/ext/ux');

Ext.require([

'Ext.data.*',

'Ext.grid.*',

'Ext.util.*',

'Ext.ux.data.PagingMemoryProxy',

'Ext.ux.ProgressBarPager'

]);

Ext.onReady(function(){

var myData = [

['3m Co',71.72,0.02,0.03,'9/1 12:00am'],

['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],

['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],

['American Express Company',52.55,0.01,0.02,'9/1 12:00am'],

['American International Group, Inc.',64.13,0.31,0.49,'9/1 12:00am'],

['AT&T Inc.',31.61,-0.48,-1.54,'9/1 12:00am'],

['Boeing Co.',75.43,0.53,0.71,'9/1 12:00am'],

['Caterpillar Inc.',67.27,0.92,1.39,'9/1 12:00am'],

['Citigroup, Inc.',49.37,0.02,0.04,'9/1 12:00am'],

['E.I. du Pont de Nemours and Company',40.48,0.51,1.28,'9/1 12:00am'],

['Exxon Mobil Corp',68.1,-0.43,-0.64,'9/1 12:00am'],

['General Electric Company',34.14,-0.08,-0.23,'9/1 12:00am'],

['General Motors Corporation',30.27,1.09,3.74,'9/1 12:00am'],

['Hewlett-Packard Co.',36.53,-0.03,-0.08,'9/1 12:00am'],

['Honeywell Intl Inc',38.77,0.05,0.13,'9/1 12:00am'],

['Intel Corporation',19.88,0.31,1.58,'9/1 12:00am'],

['International Business Machines',81.41,0.44,0.54,'9/1 12:00am'],

['Johnson & Johnson',64.72,0.06,0.09,'9/1 12:00am'],

['JP Morgan & Chase & Co',45.73,0.07,0.15,'9/1 12:00am'],

['McDonald/'s Corporation',36.76,0.86,2.40,'9/1 12:00am'],

['Merck & Co., Inc.',40.96,0.41,1.01,'9/1 12:00am'],

['Microsoft Corporation',25.84,0.14,0.54,'9/1 12:00am'],

['Pfizer Inc',27.96,0.4,1.45,'9/1 12:00am'],

['The Coca-Cola Company',45.07,0.26,0.58,'9/1 12:00am'],

['The Home Depot, Inc.',34.64,0.35,1.02,'9/1 12:00am'],

['The Procter & Gamble Company',61.91,0.01,0.02,'9/1 12:00am'],

['United Technologies Corporation',63.26,0.55,0.88,'9/1 12:00am'],

['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'],

['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am']

];

// example of custom renderer function

function change(val){

if(val > 0){

return '<span style="color:green;">' + val + '</span>';

}else if(val < 0){

return '<span style="color:red;">' + val + '</span>';

}

return val;

}

// example of custom renderer function

function pctChange(val){

if(val > 0){

return '<span style="color:green;">' + val + '%</span>';

}else if(val < 0){

return '<span style="color:red;">' + val + '%</span>';

}

return val;

}

// register model

Ext.define('Company', {

extend: 'Ext.data.Model',

fields: [

{name: 'name'},

{name: 'type'}

]

});

/*

Ext.define('Company', {

extend: 'Ext.data.Model',

idProperty: 'company',

fields: [

{name: 'company'},

{name: 'price', type: 'float'},

{name: 'change', type: 'float'},

{name: 'pctChange', type: 'float'},

{name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}

]

});*/

// create the data store

var store = new Ext.data.Store({

model: 'Company',

pageSize : 1,

proxy: {

type: 'ajax',

url : 'grid1.action',

reader:

{

type: 'json',

root: 'data'

}

},

listeners: {

beforeload: function(store, operation){

store.proxy.extraParams = {

query1: "11",

query2: "22"

};

}

},

autoLoad: true

});

/*

var store = Ext.create('Ext.data.Store', {

model: 'Company',

remoteSort: true,

pageSize: 10,

proxy: {

type: 'pagingmemory',

data: myData,

reader: {

type: 'array'

}

}

});

*/

//

var bbar = Ext.create('Ext.PagingToolbar', {

pageSize: 1,

store: store,

displayInfo: true,

plugins: Ext.create('Ext.ux.ProgressBarPager', {})

});

// create the Grid

var grid = Ext.create('Ext.ux.grid.Panel', {

title:'Progress Bar Pager',

store: store,

columns:

[

{

id:'name',

text: '名称',

sortable: true,

dataIndex: 'name',

flex: 1

},

{

text: '类别',

sortable: true,

dataIndex: 'type',

width: 75

}

],

/*

columns: [{

id:'company',

text: 'Company',

sortable: true,

dataIndex: 'company',

flex: 1

},{

text: 'Price',

sortable: true,

renderer: Ext.util.Format.usMoney,

dataIndex: 'price',

width: 75

},{

text: 'Change',

sortable: true,

renderer: change,

dataIndex: 'change',

width: 75

},{

text: '% Change',

sortable: true,

renderer: pctChange,

dataIndex: 'pctChange',

width: 75

},{

text: 'Last Updated',

sortable: true,

dataIndex: 'lastChange',

width: 75

}],

*/

stripeRows: true,

height:320,

width:600,

frame:true,

//resizable: {

// handles: 's',

// minHeight: 100

//},

bbar: bbar

});

//grid.render('grid-example');

store.load();

var p = 'aaa';

var window = Ext.create('Ext.window.Window', {

id:'main-panel',

baseCls:'x-plain',

tbar :

[

{

text: '刷新html内容1',

height:200,

handler: function()

{

//this.ownerCt.ownerCt.body.update('323423<script>alert("aasdfasdf");<//script>',true,function(){alert("asdfasdfa");});

var d_id = Ext.id();

this.ownerCt.ownerCt.update("<script>p = 'aaabbbbbcccc';<//script><script type=/"text/javascript/" src=/"./js/test.js/"><//script><div id='"+d_id+"'><//div>",true,function(){grid.render(d_id);bb();});

//var str = "bb();";

//eval(str);

}

},

{

text: '刷新html内容2',

handler: function()

{

}

}

],

html:"b"//,

//items:[grid]

});

window.show();

Ext.create('Ext.Button', {

text: 'Click me1',

renderTo: 'btn-1',

handler: function() {

bb();

alert(a);

Ext.getCmp("main-panel");

//Ext.getCmp("main-panel").doAutoRender();

}

});

Ext.create('Ext.Button', {

text: 'Click me2',

renderTo: 'btn-2',

handler: function() {

alert(Ext.getCmp("main-panel").body);

Ext.getCmp("main-panel").html = "555555555";

Ext.getCmp("main-panel").doAutoRender();

}

});

var store_tree = Ext.create('Ext.data.TreeStore', {

proxy: {

type: 'ajax',

url: 'tree.action'

},

sorters: [{

property: 'leaf',

direction: 'ASC'

}, {

property: 'text',

direction: 'ASC'

}]

});

Ext.create('Ext.TreeCombo', {

store: store_tree,

renderTo:'tree_div',

autoScroll:true,

animate:true,

enableDD:true,

containerScroll: true,

displayField:'text',

id: Ext.id()

});

});

</script>

<title>首页</title>

</head>

<body>

<div id="grid-example"></div>

<div id="btn-1"></div>

<div id="btn-2"></div>

<div id="tree_div"></div>

<p><a href="<s:url action='grid'/>">Hello World</a></p>

</body>

</html>

struts.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<constant name="struts.devMode" value="true" />

<package name="basicstruts2" extends="json-default">

<action name="index">

<result>/index.jsp</result>

</action>

<action name="grid" class="Action.GridAction" method="test">

<result name="success">/html/HelloWorld.jsp</result>

</action>

<action name="grid1" class="Action.GridAction" method="test1">

<result type="json" >

<param name="total">true</param>

<param name="data">true</param>

</result>

</action>

<action name="tree" class="Action.GridAction" method="tree">

</action>

</package>

</struts>

GridAction.java

package Action;

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.*;

import org.apache.struts2.interceptor.ServletRequestAware;

import org.apache.struts2.interceptor.ServletResponseAware;

import org.apache.struts2.interceptor.SessionAware;

import Vo.GridJson;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

/**

* ext列表控制类

* @param <HttpServletRequest>

* */

public class GridAction extends ActionSupport implements SessionAware, ServletRequestAware, ServletResponseAware {

private Map session;

private HttpServletRequest request;

private HttpServletResponse response;

public void setSession(Map session) {

this.session = session;

}

public void setServletRequest(HttpServletRequest request) {

this.request = request;

}

public void setServletResponse(HttpServletResponse response) {

this.response = response;

}

private static final long serialVersionUID = 1L;

private Long total;

private List data;

public Long getTotal() {

return total;

}

public void setTotal(Long total) {

this.total = total;

}

public List getData() {

return data;

}

public void setData(List data) {

this.data = data;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

}

public String test() throws Exception

{

return SUCCESS;

}

public String test1() throws Exception

{

total = new Long(2);

data = new ArrayList();

GridJson vo1 = new GridJson();

vo1.setName("vo1_name");

vo1.setType("vo1_type");

data.add(vo1);

GridJson vo2 = new GridJson();

vo2.setName("vo2_name");

vo2.setType("vo2_type");

data.add(vo2);

return SUCCESS;

}

public void tree() throws Exception

{

String str = "[{'text':'top1','cls':'folder','expanded':true,'children':[{'text':'t_c_1','leaf':true},{'text':'t_c_2','leaf':true}]},"

+ "{'text':'top2','cls':'folder','expanded':true,'children':[{'text':'t_2_1','leaf':true},{'text':'t_2_2','leaf':true}]}]";

response.setCharacterEncoding("UTF-8");

response.getWriter().write(str);

}

}

分享到:
评论

相关推荐

    selenium.remote.server:Selenium Grid 项目的 org.openqa.selenium.remote.server 实用程序类

    selenium.remote.server 此代码基于 Selenium 项目中 Selenium Grid 的重构版本,可在原始代码已被拆分,并进行了一些小改动以允许模块化已制造Selenium Grid 项目的 org.openqa.selenium.remote.server 实用程序类

    selenium.server:Selenium Grid 项目的 org.openqa.selenium.server 实用程序类

    Selenium服务器 此代码基于 Selenium 项目中 Selenium Grid 的重构版本,可在原始代码已被拆分,并进行了一些小改动以允许模块化已制造 Selenium Grid 项目的 org.openqa.selenium.server 实用程序类

    Silverlight报表grid小项目

    要打开项目里的Silverlight的chart,需要安装Silverlight5,里面有使用有Telerik,Silverlight控件。入门Silverlight练习,Silverlight使用键值对存储值。

    前端项目-gridstack.js.zip

    前端项目-gridstack.js,gridstack.js是用于小部件布局的jquery插件

    前端项目-ng-grid.zip

    前端项目-ng-grid,A data grid for Angular

    前端项目-react-grid-layout.zip

    前端项目-react-grid-layout,具有响应断点的可拖动和可调整大小的网格布局,用于响应。

    前端项目-react-data-grid.zip

    前端项目-react-data-grid,Data grid for React

    agrid

    agrid是用于可调整网格的库。 可调网格是二维数组,其宽度/高度可以通过在任一端(一次一个)添加或删除行/列来更改。 快速开始 您应该依靠一个grid然后: let () = let grid = Agrid. of_list [[ 1 ; 2 ]; [ 3 ;...

    前端项目-ag-grid.zip

    前端项目-ag-grid,高级框架不可知的javascript数据报。

    Grid++Report 6.6.7.0 Demo模板例子 免费报表开发工具

    Grid++Report是一款同时支持C/S软件(桌面程序)与B/S软件(WEB程序)开发的报表工具,功能全面易学易用。C/S开发适用于VB.NET、C#、VB6、VB、VC、Delphi、C++Builder、QT与易语言等。B/S开发适用于ASP.NET(C# & VB.NET)...

    前端项目-tree-grid-directive.zip

    前端项目-tree-grid-directive,树网格的AngularJS指令,使用引导程序

    ALV_GRID介绍

    ALV_GRID介绍, 不错的内容 一.ALV介绍 ...SAP提示: 在SAP的开发项目中,ALV GRID也可以作为修改和创建数据的一种工具,然而,目前这个功能只在实验计划中使用,还没有向客户发布. 下面是一个ALV GRID的图片...

    Ag-Grid Demo2.7z

    因为项目所需,用到了ag-grid,这是自己学习的时候做练习的代码,上传只是为了保存而已。并未进行下载积分设置,有需要的朋友可以进行下载。如果代码中有问题,欢迎批评指正。谢谢。

    Service Grid - Language Grid Base System:NICT语言网格项目最初开发的SOA基础架构-开源

    *本软件使用Language Grid项目(http://langrid.org/)的[SOFTWARE]。 [SOFTWARE]是以下之一:*服务网格服务器软件(http://langrid.org/oss-project/en/service_grid.html)*语言服务开发库...

    前端项目-aurora-grid.zip

    前端项目-aurora-grid,Grid system for Aurora Kit

    GridDemo.zip

    GridDemo.zip 是基于Flex开发项目不可缺少的组件

    前端项目-photoset-grid.zip

    前端项目-photoset-grid,jQuery plugin to arrange images into a flexible grid

    Grid++Report6.0

    Grid++Report是一款C/S与B/S集成报表工具,...3、纵向交叉项目列中可以定义统计框或综合文字框表达式,在合计列中关联的字段自动求和,在项目列中关联字段为复制首笔值。 ★子报表: 1、子报表无数据可以自动隐藏。

    实现grid行 列的自定义添加和删除 绝对原创

    这两天项目需要,临时做了一个,没有封装,该grid可以实现列和行的自定义添加和删除,包括修改标题,以及列的右击添加事件。希望对你们有所帮助!双击列名可以对列名进行修改,右键列名可以选择左侧和右侧添加列以及...

    Laravel开发-grid-view

    Laravel开发-grid-view 后端项目的网格视图包

Global site tag (gtag.js) - Google Analytics