1.界面修改(css style):
Extjs中界面风格与我们产品本身的风格有很大不同,从边框、选中行的颜色到鼠标移动到的行的颜色、菜单等,几乎都不同。Extjs对这些样式的设置都是由css完成的。如:
选中行的颜色就可用如下设置完成:
.x-grid3-row-selected{background:#c6e2ff!important;}
其他的都类似,只要找到对应的class, 然后设置要修改的部分即可。
2. 属性的作用(About Ext.grid. GroupingView, EditorGridPanel):
Extjs的grid功能强大,如排序、隐藏列或移动列等,这些都有一些属性与其对应,可以选择要还是不要。其中一些的属性和其作用如下:
*. EditorGridPanel:
border: false, //grid的边界
autoHeight: true, //grid的高度是否要用指定的高度
enableColumnMove: false, //grid的列是否可以移动
enableHdMenu: false, //在列的header是否要有下拉菜单
trackMouseOver: true, //当鼠标移过行时,行是否要highlight
stripeRows: true, //让grid相邻两行背景色不同
*. GroupingView:
在要显示的数据中,根据它们的某个数据点进行分组,分组显示。这个数据点由*.GroupingStore中的groupField决定。*.GroupingView设置这个分组显示的grid的一些关于组的显示属性。如:
forceFit:true, //是否根据grid的宽度调整列的宽度,防止水平scrollbar的出现
enableGroupingMenu: false, //控制header的下拉菜单中是否有group的选项(Group By This Field, Show in Groups(checkbox))
showGroupName: true,
//用来分组的数据点这一列的header是否要随group name一起显示
hideGroupedColumn: true, //用来分组的数据点这一列是否要显示
startCollapsed: false, //一开始进到grid这页,它的group是合起还是展开
scrollOffset: -1, //为垂直的scrollbar留下的space(默认是19px)
3.在单元格中添加图片:
在Ext.grid.ColumnModel中对应于加图片的列,用它的render链接到一个函数进行添加。如:
var colModel = new Ext.grid.ColumnModel([
{header:”com”, render: AddImgs.createDelegate(this)},
{header:”test”, width:200, sortable:false}
]);
响应函数如下:
AddImgs = function(value,p,record){
if(record.data.descrip != "")
{
p.attr='ext:qtip="Add to playlist" style="background-image:url(/imgs/icn_view.gif) !important; background-position: center 2px; background-repeat: no-repeat;cursor: pointer;"';
}
}
函数中的record.data是grid的数据,而着色的就是要添加的图片的路径和图片名。
4.当显示内容的字数超过单元格可以显示的字数时,如何让其自动换行(how to wrap text when the length of characters is more than the width of the column):
设置这些单元格的所用类的css即可。 如:
.x-grid3-cell-inner{
white-space:normal;
overflow:visible;
}
需要注意的是:overflow的默认值是hidden. 当加上white-space之后,本来wrap就可以了,但是单元格的高度还是一行的高度,所以数据除了第一行,其它都看不到。只有把overflow的值改为visible后,单元格所在行的高度才会随着数据的行数而调整。
5.当一开始进入页面时,让所有的group除了第一个group展开(collapsed)外,其它的group都合上(folded):
首先通过设置属性startCollapsed让所有group都合上: startCollapsed:true;
然后在store.load({callback: function(records,o,s) {ToggleFirstGroup();} })中调用函数把第一个group展开:
//gridView是该grid所用的view, 如(var gv = new Ext.grid.GroupingView({});).
复制代码代码如下:
function ToggleFirstGroup(gridView)
{
var grNum = gridView.getGroups().length;
for (var i = 0; i < grNum ; i++)
{
var firstGroupID = gridView.getGroups()[i].id;
if(firstGroupID && firstGroupID != "")
{
gridView.toggleGroup(firstGroupID);
break;
}
}
}
6.date format: 数据为9/24/2008
1).这种format的结果是:Web Sep 24 00:00:00 UTC+0800 2008
{
header: dHeader,
width: 90,
sortable: true,
dateFormat: 'Y-m-d', //dateFormat是'm/d/Y'的话,得到的结果一样
dataIndex: 'date'
},
2). 这种format的结果是: 2008-09-24
{
header: dHeader,
width: 90,
sortable: true,
renderer: Ext.util.Format.dateRenderer('Y-m-d'), //format是'm/d/Y',结果是”09/24/2008”
dataIndex: 'date'
},
找到的一些关于Class Date的format及其输出的描述(http://extjs.com/deploy/ext/docs/output/Date.html):
****************************
Format Output Description
------ ---------- --------------------------------------------------------------
d 10 Day of the month, 2 digits with leading zeros
D Wed A textual representation of a day, three letters
j 10 Day of the month without leading zeros
l Wednesday A full textual representation of the day of the week
S th English ordinal day of month suffix, 2 chars (use with j)
w 3 Numeric representation of the day of the week
z 9 The julian date, or day of the year (0-365)
W 01 ISO-8601 2-digit week number of year, weeks starting on Monday (00-52)
F January A full textual representation of the month
m 01 Numeric representation of a month, with leading zeros
M Jan Month name abbreviation, three letters
n 1 Numeric representation of a month, without leading zeros
t 31 Number of days in the given month
L 0 Whether it's a leap year (1 if it is a leap year, else 0)
Y 2007 A full numeric representation of a year, 4 digits
y 07 A two digit representation of a year
a pm Lowercase Ante meridiem and Post meridiem
A PM Uppercase Ante meridiem and Post meridiem
g 3 12-hour format of an hour without leading zeros
G 15 24-hour format of an hour without leading zeros
h 03 12-hour format of an hour with leading zeros
H 15 24-hour format of an hour with leading zeros
i 05 Minutes with leading zeros
s 01 Seconds, with leading zeros
O -0600 Difference to Greenwich time (GMT) in hours
T CST Timezone setting of the machine running the code
Z -21600 Timezone offset in seconds (negative if west of UTC, positive if east)
**********************************
下面是一些format的格式及其对应结果:数据同上,用renderer: Ext.util.Format.dateRenderer(format)
“Y-m-d” --> 2008-09-24
“y-m-d” --> 08-09-24
“F j, Y” --> September 24, 2008
“F j, y” --> September 24, 08
“F j, Y, g:i A” --> September 24, 2008, 12:00 AM
分享到:
相关推荐
在EXTJS中,将动态Combobox嵌入到Grid中是一种常见的需求,这允许用户在单元格内选择一个下拉列表的值,同时保持数据的关联性。以下是对标题和描述中涉及的知识点的详细说明: 1. **Ext.data.JsonStore**: 这是...
`Ext.grid.ColumnModel`负责管理表格中的所有列,并提供了一些方法来操作这些列: 1. **columns** - 说明:定义了一个包含多个`Ext.grid.Column`的数组。 2. **defaultSortable** - 说明:布尔值,决定是否默认...
中文帮助文档(extjs帮助文档.chm)对ExtJS的各种组件、类、方法、属性进行了详尽的解释,使得不懂英文或者对英文阅读有困难的开发者也能轻松学习和应用。CHM文件是Microsoft编写的HTML帮助文件,它将一系列HTML页面...
例如,你可以找到关于Grid Panel、Form Panel、Tree Panel等核心组件的详细说明,以及如何配置和操作它们的方法。此外,还有关于数据绑定、Ajax通信、布局管理和事件处理的指导。 在CHM文件中,通常会有一个索引或...
运行“3.0下3.x API Documentation.exe”文件,可以查看详细的API参考,其中包括每个类、方法、属性和事件的描述,帮助开发者深入理解并有效地利用ExtJS 3.0的全部功能。 总的来说,ExtJS 3.0中文API文档是学习和...
1. **组件系统**:EXTJS的核心是其组件模型,包括窗口(Window)、面板(Panel)、表单(Form)、表格(Grid)、树(Tree)等。这些组件都是可重用的,可以组合起来构建复杂的用户界面。 2. **数据绑定**:EXTJS...
"extjs中文API说明(chm)"则是ExtJS的中文版官方API文档,对于开发者来说是不可或缺的参考材料。API文档详细列出了ExtJS的所有类、方法、属性和事件,帮助开发者理解和使用各种组件和功能。由于是中文版,这将极...
而"CodePub.Com说明.txt"文件可能包含了一些关于代码发布、使用CodePub平台的相关信息,或者是关于如何使用教程的说明,这部分内容可能会帮助读者更好地理解和实践教程中的示例。 总之,通过学习这个教程,初学者...
12. **API参考**:最重要的是,手册会提供完整的API参考,包括每个类、方法、属性和事件的详细说明,这对于开发者查阅和理解特定功能至关重要。 总的来说,"Extjs3.2中文帮助手册"是开发者掌握和使用ExtJS 3.2不可...
这个中文API文档版本3.3为我们提供了关于ExtJs 3.3版本的详细信息,包括各种组件、类、方法和事件的说明,使得开发者在使用这个框架时能更加得心应手。下面将详细介绍ExtJs 3.3中的主要知识点。 1. **组件体系结构*...
表格Grid部分介绍了ExtJS的网格组件Grid的创建、配置和数据绑定方法,Grid组件对于处理和展示数据集非常有用。 TreePanel部分探讨了树状结构组件的使用方法,适用于创建层次化数据展示和导航。 表单Form部分讲解了...
- 在离线文档中,你可以找到ExtJS 6.2.0的所有类、方法、属性和事件的详细说明,这对于理解和使用特定功能非常有帮助。 - 每个类都包含构造函数、配置选项、公共方法、事件和示例代码,方便开发者快速上手。 4. *...
例如,通过`<ext:grid>`标签,我们可以轻松创建一个数据网格,而在传统方式下,我们需要定义GridPanel对象,配置store、columns等属性。同样,`<ext:button>`可以用于创建按钮,`<ext:window>`则可以创建弹出窗口,...
它们详细列出了每个类、方法和属性的说明,方便你在编写代码时查阅。例如,Grid的配置项、ColumnModel的用法、FormPanel的字段验证等,都可以在这里找到答案。 最后,ExtJS的皮肤系统允许开发者自定义界面样式,以...
以下是对GridPanel的一些主要属性和方法的详细说明: **属性总结:** 1. **store**: 这个属性定义了GridPanel所绑定的数据源,通常是一个Ext.data.Store实例,用于存储和管理数据。 2. **columns/colModel**: ...
- 文件"EXT组件grid+tree+window.docx"很可能包含了EXTJS组件的具体实现代码,以及代码中的关键属性和方法解释,帮助初学者理解组件的工作原理和配置方式。 - "role"和"rolePermission"可能是示例中的数据模型或者...