ExtJs之Ext.grid.GridPanel(部分未完)
今天在家休息,年假不用就作费啊。
看了几部香港老电影,陪爸爸看了勇士占奇才,
然后,测试了一下EXTJS未完的内容,
在京东上订了七本历史普及书,近两百块。。:)
搞定。
<!DOCTYPE html>
<html>
<head>
<title>ExtJs</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">
<script type="text/javascript" src="ExtJs/ext-all.js"></script>
<script type="text/javascript" src="ExtJs/bootstrap.js"></script>
<script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></script>
<style type="text/css">
#uses the following css:
.red-row{ background-color: #F5C0C0 !important; }
.yellow-row{ background-color: #FBF8BF !important; }
.green-row{ background-color: #99CC99 !important; }
</style>
<script type="text/javascript">
Ext.onReady(function(){
function rendererSex(value){
if (value == 'male') {
return "<span style='color:red;font-weight: bold;'>男</span>";
}else {
return "<span style='color:green;font-weight: bold;'>女</span>";
}
};
function rendererDescn(value, cellmeta, record, rowIndex, columnIndex, store){
var str = "<input type='button' value='查看详细信息' onclick='alert(\"" +
"这个单元格的值为: " + value + "\\n" +
"这个单元格的配置是: {cellID" + cellmeta.cellID + ", id: " + cellmeta.id + ", css: " + cellmeta.css + "}\\n" +
"这个单元格对应的record是: " + record + ", 一行里的数据都在里边\\n" +
"这是第" + rowIndex + "行\\n" +
"这是第" + columnIndex + "列\\n" +
"这个表格对应的Ext.data.Store在这里: " + store + ", 随便用吧." +
"\")'>"
return str;
}
function rendererMotif(data, cell, record, rowIndex, columnIndex, store) {
var value = record.get('color');
cell.style = "background-color: " + value;
return data;
}
var sm = new Ext.selection.CheckboxModel({stringSelect: true});
var columns =[
new Ext.grid.RowNumberer(),
{header: '编号', dataIndex: 'id', width:80, sortable: false},
{header: '名称', dataIndex: 'name', width:180},
{header: '性别', dataIndex: 'sex', renderer: rendererSex, width:120},
{header: '日期', dataIndex: 'date', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width:400},
{header: '描述', dataIndex: 'descn', renderer: rendererDescn, width:200},
{header: 'color', dataIndex: 'color', renderer: rendererMotif, width:200}
];
var data = [
['1', 'name1', 'male', '2017-01-15T02:58:04', 'descn1', '#FBF8BF'],
['2', 'name2', 'female', '2005-01-15T02:58:04', 'descn2', '#F5C0C0'],
['3', 'name3', 'male', '2017-06-15T02:58:04', 'descn3', '#99CC99'],
['4', 'name4', 'female', '2017-01-09T02:58:04', 'descn4', '#FBF8BF'],
['5', 'name5', 'male', '2017-12-15T02:58:04', 'descn5', '#F5C0C0']
];
var store = new Ext.data.ArrayStore({
data: data,
fields: [
{name: 'name', mapping: 1},
{name: 'sex', mapping: 2},
{name: 'id', mapping: 0},
{name: 'date', type: 'date', dateFormat: 'Y-m-dTH:i:s', mapping: 3},
{name: 'descn', mapping: 4},
{name: 'color', mapping: 5}
]
});
/*
var store = new Ext.data.Store({
proxy: new Ext.data.ScriptTagProxy({url: 'source.html'}),
reader: new Ext.data.ArrayReader({}, [
{name: 'id'},
{name: 'name'},
{name: 'descn'}
]),
fields: [
{name: 'name', mapping: 1},
{name: 'id', mapping: 0},
{name: 'descn', mapping: 2}
]
});
*/
store.load();
var grid = new Ext.grid.GridPanel({
enableColumnMove: false,
enableColumnResize: true,
stripeRows: true,
autoHeight: true,
loadMask:true,
forceFit: true,
renderTo: 'grid',
store: store,
columns: columns,
selModel: sm,
bbar: new Ext.PagingToolbar({
pageSize: 3,
store: store,
displayInfo: true,
displayMsg: '显示第{0} 条到 {1}条记录, 一共{2}条',
emptyMsg: '没有记录'
}),
viewConfig: {
enableRowBody: true,
columnsText: '显示的列',
sortAscText: '升序',
getRowClass: function(record, rowIndex, p, ds) {
var cls = 'white-row';
switch (record.data.color) {
case '#FBF8BF' :
cls = 'yellow-row';
break;
case '#99CC99' :
cls = 'green-row';
break;
case '#F5C0C0' :
cls = 'red-row';
break;
}
return cls;
}
}
});
Ext.get('remove').on('click', function(){
store.remove(store.getAt(1));
grid.view.refresh();
})
var tree = new Ext.tree.TreePanel({
store: new Ext.data.TreeStore({
root: {
text: '我是根',
children: [{
text: '我是根的第一个枝子',
children: {
text: '我是根的第一个枝子的第一个叶子',
leaf: true
}
},{
text: '我是根的第一个叶子',
leaf: true
}]
}
})
});
tree.render('tree');
});
</script>
</head>
<body style="margin: 20px">
<div id='grid' style="width: 800px"></div>
<button id='remove'>删除第二行</button>
<div id="tree"></div>
</body>
</html>

ExtJs之Ext.grid.GridPanel(部分未完)的更多相关文章
- ExtJs的Ext.grid.GridPanel不能选择复制表格中的内容解决方案
今天遇到grid复制的问题,在网上找到了一个解决办法,只需改下CSS和JS,给大家分享一下: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dy_paradise/a ...
- 【编程技巧】EXTJS中Ext.grid.GridPanel配置项autoExpandColumn的使用方法
autoExpandColumn的作用是自动伸展,占满剩余区域.一般使用在列比较少,并且大多数列都比较窄,有一列比较宽的情况下,当然什么时候使用,还是得按照实际情况确定. 使用的时候主要有三点要注意的 ...
- Ext.grid.GridPanel属性及方法等
1.Ext.grid.GridPanel主要配置项:store:表格的数据集columns:表格列模式的配置数组,可自动创建ColumnModel列模式autoExpandColumn:自动充满表格未 ...
- Ext.grid.GridPanel的属性
1.Ext.grid.GridPanel 主要配置项: store:表格的数据集 columns:表格列模式的配置数组,可自动创建ColumnModel列模 ...
- [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)
先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...
- Ext.grid.GridPanel数据转json
var count = docAdGrid.getStore().getCount(); var jsonArray = []; for (var i = 0; i < count; i++) ...
- ExtJs4.2.1中的Ext.grid.GridPanel选择行回车事件
网上大多说的是“rowdblclick” 其实是“itemdblclick” 这个东西坑了我一上午.
- [转] Ext Grid (ExtJs)上的单击以及双击事件
例1: 1.双击 var cb = new Ext.grid.RowSelectionModel({ singleSelect:true //如果值是false,表明可以选择多行:否则只能选择一行 } ...
- Ext4.0.7使用Ext.grid.ColumnModel报错:TypeError: Ext.grid.Model is not a constructor
代码如下: Ext.onReady(function(){ //定义列 var cm = new Ext.grid.ColumnModel([ {header: '编号', dataIndex: 'i ...
随机推荐
- B1230 [Usaco2008 Nov]lites 开关灯 线段树
就是线段树维护异或和.之前我线段树区间修改down都是修改当前区间,结果debug出不来,改成每次向下了. 题干: Description Farmer John尝试通过和奶牛们玩益智玩具来保持他的奶 ...
- bzoj 1029 [ JSOI 2007 ] 建筑抢修 —— 贪心
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1029 想不出来贪心... 首先把任务按结束时间排序: 因为任务一定是越提前做越好,所以从头开 ...
- 洛谷P1077 摆花(背包dp)
P1077 摆花 题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能 ...
- python 46 css组合选择器 及优先级 、属性选择器
一:css组合选择器 特性:每个选择器位可以为任意基本选择器或选择器组合 选择器分为以下几类: 群组选择器,子代(后代)选择器,相邻(兄弟)选择器,交集选择器,多类名选择器 1.群组选择器: d ...
- 使用logback实现http请求日志导入mongodb
spring boot自带logback作为其日志新系统,但是在实际工作中,常常需要对日志进行管理或分析,如果只是单纯的将日志导入文本文件,则在查询时操作过于繁琐,如果将其导入mysql等关系型数据库 ...
- npm搭建React项目
转自:http://blog.csdn.net/u012859720/article/details/70597119 要想使用npm,首先安装Node.js 一.安装全局包 $ npm instal ...
- POJ 2230 DFS
题意: Bessie 最近做了农场看守,他每天晚上的工作就是巡视农场并且保证没有坏人破坏农场.从谷仓出发去巡视,并且最终回到谷仓. Bessie 视力不是很好,不能像其他农场的看守一样,对农场的每一条 ...
- java bean转Map
/** * @author xxxxxxxxxxx * @param object * 待转化类 * @param format自定义转化类型 * @return Map<String,Stri ...
- js邮箱正则表达式的使用
在网页中插入邮箱输入框,当邮箱输入格式错误,给出提示.代码:function yy(){ var t = /^[A-Za-zd0-9]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[- ...
- 三维重建:SLAM的尺度和方法论问题
百度百科的定义.此文引用了其他博客的一些图像,如有侵权,邮件联系删除. 作为算法的SLAM,被称为同步相机位姿确定和地图构建.作为一个工程的SLAM,有众多的算法. 在计算机视觉中, 三维重建是指根据 ...