Ext.Net 使用总结之GridPanel的删除事件
1.关于Ext.net中GridPanel的删除事件
首先是GridPanel,如下:
<ext:GridPanel ID="GridPanel1" runat="server" AutoScroll="true" Layout="FitLayout" AutoExpandColumn="REMARK">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:RowNumbererColumn Header="序号" Width="35" />
<ext:Column Header="ID" DataIndex="ID" Hidden="true"/>
<ext:Column Header="名称" DataIndex="NAME" Width="150"/>
<ext:Column Header="类别" DataIndex="TYPE" Width="120"/>
<ext:Column Header="备注" DataIndex="REMARK"/>
</Columns>
</ColumnModel>
<Store>
<ext:Store ID="Store1" runat="server" AutoLoad="true" OnRefreshData="OnData_Refresh">
<Proxy>
<ext:PageProxy>
</ext:PageProxy>
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="NAME" />
<ext:RecordField Name="TYPE" />
<ext:RecordField Name="REMARK" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
</Store>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
</ext:RowSelectionModel>
</SelectionModel>
<BottomBar>
<ext:PagingToolbar ID="PagingToolBar1" runat="server" PageSize="20" StoreID="Store1" Height="25" DisplayInfo="true" DisplayMsg="显示{0} - {1},共{2}条" EmptyMsg="没有可显示的记录" />
</BottomBar>
</ext:GridPanel>
我们再增加一个删除按钮,如下:
<ext:Button ID="extBtn_Delete" runat="server" Text="删除" Icon="Delete">
<DirectEvents>
<Click OnEvent="extBtn_Delete_Click" />
</DirectEvents>
</ext:Button>
删除按钮的后台事件,如下:
protected void extBtn_Delete_Click(object sender, DirectEventArgs e)
{
RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel;
if (sm.SelectedRows.Count == 0)
{
X.Msg.Alert("系统提示", "请先选择要删除的记录!").Show();
return;
}
X.Msg.Confirm("系统提示", "是否删除选中行?", new MessageBoxButtonsConfig
{
Yes = new MessageBoxButtonConfig
{
Handler = "Ext.net.DirectMethods.DoDel();",
Text = "是"
},
No = new MessageBoxButtonConfig
{
Text = "否"
}
}).Show();
} [DirectMethod]
public void DoDel()
{
RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel;
try
{
foreach (SelectedRow row in sm.SelectedRows)
{
//这里是删除数据的方法,可以用 row.RecordID 属性拿到选中行的主键ID
GridPanel1.DeleteSelected();
Store1.CommitChanges();
}
}
catch(Exception ex)
{
X.Msg.Alert("系统提示", "删除记录失败!|"+ex.Message).Show();
return;
}
GridPanel1.Reload();
}
这一段是整个删除的重点,其中提到的主键ID是指在Store中设置的IDProperty属性。
GridPanel1.DeleteSelected();
Store1.CommitChanges();
这两行是用来清空GridPanel中的选中行,不清空的话会对之后的选中事件造成影响。
请注意:本文用到的Ext.net版本是1.x
Ext.Net 使用总结之GridPanel的删除事件的更多相关文章
- Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel
Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel Ext.Net GridPanel 有两种编辑模式:编辑单元格和编辑行. 单元格编辑: 行编辑: 可以看出,单元格编辑的时候,只 ...
- Ext.Net 1.x_Ext.Net.GridPanel 事件
1.行双击事件 首先设置选择方式为RowSelectionModel单行选中 [html] view plaincopy <SelectionModel> <ext:RowSelec ...
- Extjs中给同一个GridPanel中的事件添加参数的方法
Extjs中给同一个GridPanel中的事件添加参数的方法: this.isUse = new Ext.Action({ text:'启用', scope ...
- AJAX删除事件与加载数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 数组练习:各种数组方法的使用&&事件练习:封装兼容性添加、删除事件的函数&&星级评分系统
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【jquery】【ztree】节点添加自定义按钮、编辑和删除事件改成自己定义事件
setting添加 edit: { drag: { isCopy: false, isMove: true }, enable: true,//设置是否处于编辑状态 showRemoveBtn: sh ...
- javaScript 删除事件 弹出确认 取消对话框
javaScript 删除事件 弹出确认 取消对话框 1. <a href="javascript:if(confirm('确实要删除?'))location='http://www. ...
- 编辑 Ext 表格(一)——— 动态添加删除行列
一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行 gridS ...
- Ext.NET 4.1.0 GridPanel数据分页
针对大量数据在前端展示,需要进行分页显示,这里我使用的数据量为100万,数据存储在MongoDb中(也可以存储在本地文件或其它数据库中).最终显示效果如下: 步骤如下: 1.新建程序并配置,详见htt ...
随机推荐
- Android AndroidManifest 清单文件以及权限详解!【转】
转自:http://my.oschina.net/yuanxulong/blog/366753 每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名 ...
- iOS_根据文字字数动态确定Label宽高
iOS7中用以下方法 CGSize 替代过时的iOS6中的- (CGSize)sizeWithFont:(UIFont *)font 方法 // iOS7_API_根据文字 字数动态确定Label宽高 ...
- Android中数据库的操作流程详解
Android中数据库的操作方法: 1.Android平台提供了一个数据库辅助类来创建或打开数据库. 这个辅助类继承自SQLiteOpenHelper类.继承和扩展SQLiteOpenHelper类主 ...
- mount CIFS return ERR -12 and report Cannot allocate memory
When I mount CIFS on board, it encountered error as below: # mount -t cifs //192.168.1.28/98share /t ...
- DevExpress.XtraCharts.chartControl
private Dictionary<string, double> chartPieDataDic = new Dictionary<string, double>(); p ...
- Backbone实例todos分析
源码来自:http://todomvc.com/examples/backbone/ 这是一个用Backbone.js完成的待办事项实例,精简但完善,可以帮助很好的帮助理解Backbone的API,M ...
- SQL函数:字符串中提取数字,英文,中文,过滤重复字符(转)
--提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NUMBER2 GO )) ) AS BEGIN BE ...
- vs2010打开设计器出现错误
vs2010打开设计器出现此界面, 错误多种,还有“未将对象引用设置到对象的实例” ,我项目用到了第三方控件(没有安装,bin文件夹导入DLL文件,项目直接引用的DLL文件),看下面的堆栈信息,显 ...
- Set无序怎么办?
在JAVA中,提供多种不同的结构来组织对象,Set(集合)是其中的一种,本身是一个接口,其迭代时的顺序取决于其具体实现. 典型的实现包括: HashSet:哈希表是通过使用称为散列法的机制来存储信息的 ...
- 通过 IP 访问谷歌
最近貌似谷歌都不能访问,对于我等经常使用谷歌的人说不是件好事,毕竟谷歌比百度专业,好在有解决办法: 1. 找到文件:C:\Windows\System32\drivers\etc\hosts 2. 把 ...