Ext.Net-----GridPanel (属性|方法|配置|详细介绍)

本文详细解析了Ext.NET中的GridPanel、Column、ColumnModel以及不同类型的SelectionModel(如CellSelectionModel、RowSelectionModel和CheckboxSelectionModel)及其关键配置,帮助开发者更好地理解和使用这些组件进行数据展示和交互。
摘要由CSDN通过智能技术生成

1、Ext.NET ---- GridPanel 
主要配置项: 
store:表格的数据集 
columns:表格列模式的配置数组,可自动创建ColumnModel列模式 
autoExpandColumn:自动充满表格未用空间的列,参数为列id,该id不能为0 
stripeRows:表格是否隔行换色,默认为false 
cm、colModel:表格的列模式,渲染表格时必须设置该配置项 
sm、selModel:表格的选择模式,默认为Ext.grid.RowSelectionModel 
enableHdMenu:是否显示表头的上下文菜单,默认为true 
enableColumnHide:是否允许通过标题中的上下文菜单隐藏列,默认为true 
loadMask:是否在加载数据时显示遮罩效果,默认为false 
view:表格视图,默认为Ext.grid.GridView 
viewConfig:表格视图的配置对象 
autoExpandMax:自动扩充列的最大宽度,默认为1000 
autoExpandMin:自动扩充列的最小宽度,默认为50 
columnLines:是否显示列分割线,默认为false 
disableSelection:是否禁止行选择,默认为false 
enableColumnMove:是否允许拖放列,默认为true 
enableColumnResize:是否允许改变列宽,默认为true 
hideHeaders:是否隐藏表头,默认为false 
maxHeight:最大高度 
minColumnWidth:最小列宽,默认为25 
trackMouseOver:是否高亮显示鼠标所在的行,默认为true 
主要方法: 
getColumnModel():取得列模式 
getSelectionModel():取得选择模式 
getStore():取得数据集 
getView():取得视图对象 
reconfigure( Ext.data.Store store, Ext.grid.ColumnModel colModel ):使用一个新的数据集和列模式重新配置表格组件

2、Ext.NET.Column 
主要配置项: 
id:列id 
header:表头文字 
dataIndex:设置列与数据集中数据记录的对应关系,值为数据记录中的字段名称。如果没有设置该项则使用列索引与数据记录中字段的索引进行对应 
width:列宽 
align:列数据的对齐方式 
hidden:是否隐藏列,默认为false 
fixed:是否固定列宽,默认为false 
menuDisabled:是否禁用列的上下文菜单,默认为false 
resizable:是否允许改变列宽,默认为true 
sortable:是否允许排序,默认为true 
renderer:设置列的自定义单元格渲染函数 
传入函数的参数有: 
value:数据的原始值 
metadata:元数据对象,用于设置单元格的样式和属性,该对象包含的属性有: 
css:应用到单元格TD元素上的样式名称 
attr:一个HTML属性定义字符串,例如'style="color:blue"' 
record:当前数据记录对象 
rowIndex:单元格的行索引 
colIndex:单元格的列索引 
store:数据集对象 
xtype:列渲染器类型,默认为gridcolumn,其它可选值有booleancolumn、numbercolumn、datecolumn、 templatecolumn等 
editable:是否可编辑,默认为true 
editor:编辑器 
groupName: 
emptyGroupText: 
groupable:

3、Ext.NET.ColumnModel 
主要配置项: 
columns:字段数组 
defaultSortable:是否进行默认排序,默认为false 
defaultWidth:默认宽度 
主要方法: 
findColumnIndex( String col ):根据给定的dataIndex查找列索引 
getColumnById( String id ):取得指定id对应的列 
getColumnCount( Boolean visibleOnly ):取得列总数 
getColumnHeader( Number col ):取得列的表头 
getColumnId( Number index ):取得列id 
getDataIndex( Number col ):取得列对应的数据字段名 
getIndexById( String id ):取得列索引 
getTotalWidth( Boolean includeHidden ) 
isCellEditable( Number colIndex, Number rowIndex ) 
isFixed() 
isHidden( Number colIndex ) 
setColumnHeader( Number col, String header ) 
setColumnWidth( Number col, Number width, Boolean suppressEvent ) 
setDataIndex( Number col, String dataIndex ) 
setEditable( Number col, Boolean editable ) 
setEditor( Number col, Object editor ) 
setHidden( Number colIndex, Boolean hidden ) 
setRenderer( Number col, Function fn )

4、Ext.NET.AbstractSelectionModel 
主要方法: 
lock():锁定选择区域 
unlock():解锁选择区域 
isLocked():当前选择区域是否被锁定

5、Ext.NET.CellSelectionModel 
主要方法: 
clearSelections( Boolean preventNotify ):清除选择区域 
getSelectedCell():取得当前选择的单元格,返回一数组,其格式:[rowIndex, colIndex] 
hasSelection():当前是否有选择区域 
select( Number rowIndex, Number colIndex, [Boolean preventViewNotify], [Boolean preventFocus], [Ext.data.Record r] ):选择指定单元格

6、Ext.NET.RowSelectionModel 
主要配置项: 
singleSelect:是否单选模式,默认为false,即可以选择多条数据 
主要方法: 
clearSelections( [Boolean fast] ):清除所有选择区域 
deselectRange( Number startRow, Number endRow ):取消范围内的行选择 
deselectRow( Number row, [Boolean preventViewNotify] ):取消指定行的选择状态 
each( Function fn, [Object scope] ):遍历所有选择行,并调用指定函数。当前被选行将传入该函数中 
getCount():得到选择的总行数 
getSelected():得到第一个被选记录 
getSelections():得到所有被选记录的数组 
hasNext():判断当前被选行之后是否还有记录可以选择 
hasPrevious():判断当前被选行之前是否还有记录可以选择 
hasSelection():是否已选择了数据 
isIdSelected( String id ):判断指定id的记录是否被选择 
isSelected( Number/Record index ):判断指定记录或记录索引的数据是否被选择 
selectAll():选择所有行 
selectFirstRow():选择第一行 
selectLastRow( [Boolean keepExisting] ):选择最后行 
keepExisting:是否保持已有的选择 
selectNext( [Boolean keepExisting] ):选择当前选择行的下一行 
selectPrevious( [Boolean keepExisting] ):选择当前选择行的上一行 
selectRange( Number startRow, Number endRow, [Boolean keepExisting] ):选择范围内的所有行 
selectRecords( Array records, [Boolean keepExisting] ):选择一组指定记录 
selectRow( Number row, [Boolean keepExisting], [Boolean preventViewNotify] ):选择一行 
row:行索引 
selectRows( Array rows, [Boolean keepExisting] ):选择多行 
rows:行索引数组

7、Ext.NET.CheckboxSelectionModel 
主要配置项: 
singleSelect:是否单选模式,默认为false,即可以选择多条数据 
checkOnly:是否只能通过点击checkbox列进行选择,默认为false 
sortable:是否允许checkbox列排序,默认为false 
width:checkbox列的宽度,默认为20

Mode:选择的模式.允许的值有:

  • SINGLE - 允许一次只能选择一个。 使用allowDeselect以允许取消选择哪个选项。这个是默认的。(可以理解为单选)
  • SIMPLE - 允许一次一个接着一个的选择多个。Each click in grid will either格子中的每一次点击将选择或者取消选择一个元素。(可以理解为保持选中行)
  • MULTI - 允许使用ctrl和shift键复杂地选择多个项目。Allows complex selection of multiple items using Ctrl and Shift keys.(可以像操作windows文件一样操作行数据)
  • ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d3036dfa9baa4c579e8de1b6f73ed954.png#pic_center)

 

8、Ext.grid.RowNumberer 
主要配置项: 
header:行号列表头显示的内容 
width:列宽,默认为23

9、Ext.NET.GridView 
主要配置项: 
enableRowBody:是否包含行体 
sortAscText:表格标题菜单中升序的文字描述 
sortDescText:表格标题菜单中降序的文字描述 
columnsText:表格标题菜单中列对应的文字描述 
autoFill:是否自动扩展列以充满整个表格,默认为false 
forceFit:是否强制调整表格列宽以适用表格的整体宽度,防止出现水平滚动条,默认为false 
主要方法: 
focusCell( Number row, Number col ):将焦点移到指定单元格 
focusRow( Number row ):将焦点移动指定行 
getCell( Number row, Number col ):取得指定单元格对应的td元素 
getHeaderCell( Number index ):取得指定表头对应的td元素 
getRow( Number index ):取得指定行对应的tr元素 
getRowClass( Record record, Number index, Object rowParams, Store store ):得到附加到表格行上的样式名 
record:当前行的数据记录对象 
index:当前行的索引 
rowParams:渲染时传入到行模板中的配置对象,通过它可以为行体定制样式,该对象只在enableRowBody为true时才生效,可能的属性 如下: 
body:渲染到行体中的HTML代码片段 
bodyStyle:应用到行体tr元素style属性的字符串 
cols:应用到行体td元素colspan属性的值,默认为总列数 
store:表格数据集 
refresh( [Boolean headersToo] ):刷新表格组件 
scrollToTop():滚动表格到顶端

.net EXT学习资料与源码 ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了,   主要包括data,widget,form,grid,dd,menu,其中最强大的应该算grid了,编程思想是基于面对对象编程(oop),扩展性相当的好.可以自己写扩展.自己定义命名空间.web应用可能感觉太大.不过您可以根据需要按需加载您想要的类库就可以了.   主要包括三个大的文件ext-all.css,ext-base.js,ext-all.js(包括所有的类库,您可以根据需要进行删减.官方网站提供这一接口),在引用ext类库的时候.这三个文件必不可少.   它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧!其核心的组件基本覆盖了我们构建富客户端的常用的组件。   从 Ext 2开始,商业版(针对那些以盈利为目的的开发方)要收费了。这可能会影响一些他的应用前景。   目前的最新版本为3.0RC,该版本是在2009年4月15日发布的。 三层架构,   三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。   1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。   2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。   3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。 [编辑本段]概述   在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。   三层结构原理:   3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。   所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。   三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。   表示层    位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。   业务逻辑层    业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。   业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。   数据层    数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。   简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值