Ext.Net学习笔记17:Ext.Net GridPanel Selection
Ext.Net学习笔记17:Ext.Net GridPanel Selection
接下来是Ext.Net的GridPanel的另外一个功能:选择。
我们在GridPanel最开始的用法中已经见识过如何使用选择功能,今天我们这片笔记将更加详细的介绍Ext.Net GridPanel的Selection功能。
Ext.Net GridPanel Selection包括三种:
- RowSelectionModel:行选择模型
- CheckboxSelectionModel:带有复选框的行选择模型
- CellSelectionModel:单元格选择模型
默认情况下,GridPanel使用RowSelectionModel,能够进行单选,如果要GridPanel能够进行多选,需要在GridPanel中添加属性:
<ext:GridPanel runat="server" ID="grid"
ColumnLines="true" Width="500" Height="200"
MultiSelect="true">
下面我们来分别看一下这三种模型的用法
RowSelectionModel
效果如下:

实现代码:
<SelectionModel>
<ext:RowSelectionModel runat="server" Mode="Multi"></ext:RowSelectionModel>
</SelectionModel>
在RowSelectionModel的配置中,属性Mode表示选择的类型,分别是Single(单选)、Multi(多选)和Simple(简单多选)
单选和多选的区别很明显,我们来说一下Multi和Simple的区别:
- multi:多选,但需要使用键盘Ctrl、Shift来配合完成。在实际使用的过程中你会发现,单纯的鼠标单击并不能实现多选,需要同时按下Ctrl键才能多选,如果要选择一个区域,则可以同时按下Shift键。
- Simple:多选,不需要Ctrl或Shift键的配合。只使用鼠标即可实现多选。
CheckboxSelectionModel
效果如图:

代码如下:
<ext:CheckboxSelectionModel runat="server"
Mode="Multi" InjectCheckbox="1">
</ext:CheckboxSelectionModel>
Mode属性与RowSelectionModel中的Mode属性功能相同,不在赘言。
InjectCheckbox属性用来决定Checkbox列显示在什么位置(第几列),默认为0,从第0列开始。
CellSelectionModel
效果如图:

代码如下:
<ext:CellSelectionModel runat="server"></ext:CellSelectionModel>
我试了一下,好像是只能选中一个单元格。
查了ExtJS API以后发现确实只能选择一个单元格,它同样也有一个Mode属性,但这个属性只有一个可用值:Single。

客户端获取选择的值
由于这系列比较偏重服务器端的处理,所以这个地方简单的说一下客户端获取值的方法,代码如下:
var selectedRows = grid.getSelectionModel().getSelection();
grid是我们的GridPanel,首选获取它的选择模型,得到模型之后,再从选择模型中得到选中的内容。
服务器端获取选择的值
对于服务器端来说,我们可以用同样的思路来获取选中的值。
var selectionModel = grid.GetSelectionModel() as RowSelectionModel; if (selectionModel.SelectedRows.Count == 0)
{
X.MessageBox.Alert("提示", "没有选中行").Show();
return;
} string ids = string.Empty;
foreach (var item in selectionModel.SelectedRows)
{
ids += "," + item.RecordID;
}
ids = ids.Trim(','); X.MessageBox.Alert("提示", ids).Show();
注意:如果Store所关联的Model没有设置IDProperty,将导致无法获取RecordID
上面的代码是针对RowSelectionModel和CheckboxSelectionModel来说的,如果是CellSelectionModel,我们还可以获取到单元格的值等内容:
var cellModel = grid.GetSelectionModel() as CellSelectionModel;
//获取记录ID
var recordId = cellModel.SelectedCell.RecordID;
//获取单元格值
var cellValue = cellModel.SelectedCell.Value;
//获取列名称
var columnName = cellModel.SelectedCell.Name;
//获取列号
var columnIndex = cellModel.SelectedCell.ColIndex;
//获取行号
var rowIndex = cellModel.SelectedCell.RowIndex;
OK,以上就是关于Ext.Net GridPanel Selection的内容,本文由起飞网原创首发,请继续关注。
Ext.Net学习笔记17:Ext.Net GridPanel Selection的更多相关文章
- 【Ext.Net学习笔记】06:Ext.Net GridPanel的用法(GridPanel 折叠/展开行、GridPanel Selection、 可编辑的GridPanel)
GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候. 下面来看看效果: 使用行折叠/展开功能之 ...
- 【Ext.Net学习笔记】05:Ext.Net GridPanel的用法(包含Filter、Sorter、Grouping、汇总(Summary)的用法)
GridPanel是用来显示数据的表格,与ASP.NET中的GridView类似. GridPanel用法 直接看代码: <ext:GridPanel runat="server&qu ...
- Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel
Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel Ext.Net GridPanel 有两种编辑模式:编辑单元格和编辑行. 单元格编辑: 行编辑: 可以看出,单元格编辑的时候,只 ...
- Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行
Ext.Net学习笔记16:Ext.Net GridPanel 折叠/展开行 Ext.Net GridPanel的行支持折叠/展开功能,这个功能个人觉得还说很有用处的,尤其是数据中包含图片等内容的时候 ...
- Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法
Ext.Net学习笔记15:Ext.Net GridPanel 汇总(Summary)用法 Summary的用法和Group一样简单,分为两步: 启用Summary功能 在Feature标签内,添加如 ...
- Ext.Net学习笔记12:Ext.Net GridPanel Filter用法
Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...
- Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法
Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法 这篇笔记将介绍如何使用Ext.Net GridPanel 中使用Sorter. 默认情况下,Ext.Net GridP ...
- Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法
Ext.Net学习笔记14:Ext.Net GridPanel Grouping用法 Ext.Net GridPanel可以进行Group操作,例如: 如何启用Grouping功能呢?只需要在Grid ...
- Ext.Net学习笔记11:Ext.Net GridPanel的用法
Ext.Net学习笔记11:Ext.Net GridPanel的用法 GridPanel是用来显示数据的表格,与ASP.NET中的GridView类似. GridPanel用法 直接看代码: < ...
随机推荐
- A Tour of Go Exercise: Fibonacci closure
Let's have some fun with functions. Implement a fibonacci function that returns a function (a closur ...
- grdgradient
from http://gmt.soest.hawaii.edu/doc/5.2.1/grdgradient.html grdgradient grdgradient - Compute direct ...
- iOS新特性引导页
有一个注意点: 获取版本号 个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击"Summary"后看到. Version在plist文件 ...
- cocos2d-x Touch
转自:http://codingnow.cn/cocos2d-x/783.html 游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今 ...
- utf8乱码解决方案[适合tomcat部署的jsp应用]
转:http://blog.csdn.net/cn_gaowei/article/details/6673539 1. java类: CharacterEncodingFilter im ...
- systemd service
Man page systemd.unit SYSTEMD.UNIT(5) systemd.unit SYSTEMD.UNIT(5) NAME systemd.unit - Unit configur ...
- Java正則表達式入门
众所周知,在程序开发中,难免会遇到须要匹配.查找.替换.推断字符串的情况发生,而这些情况有时又比較复杂,假设用纯编码方式解决,往往会浪费程序猿的时间及精力.因此,学习及使用正則表達式,便成了解决这一 ...
- 【转】Oracle 10g RAC TAF
本人转自:http://www.cnblogs.com/future2012lg/archive/2013/10/12/3365978.html Oracle RAC 同一时候具备HA(High Av ...
- java中的url 编码与解码
什么是application/x-www-form-urlencoded字符串? 答:它是一种编码类型.当URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www ...
- Android 读取SIM卡参数
package com.water.activity; import java.util.List; import android.app.Activity; import android.os.Bu ...