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 TextView文字描边的实现!!
Android开发:文字描边 转自:http://www.oschina.net/code/snippet_586849_37287 1. [代码][Java]代码 1 2 3 4 5 6 7 8 9 ...
- omnibus方式部署gitlab
omnibus方式部署gitlab Posted on 2015 年 1 月 10 日 4233 Views 这几天折腾搭建git服务器,选择了比较流行的gitlab,一开始就直奔一键安装脚本去了 ...
- 用python处理文本数据 学到的一些东西
最近写了一个python脚本,用TagMe的api标注文本,并解析返回的json数据.在这个过程中遇到了很多问题,学到了一些新东西,总结一下. 1. csv文件处理 csv是一种格式化的文件,由行和列 ...
- PHP和JAVASCRIPT判断访客终端是电脑还是手机
当用户使用手机等移动终端访问网站时,我们可以通过程序检测用户终端类型,如果是手机用户,则引导用户访问适配手机屏幕的移动站点.本文将介绍分别使用PHP和JAVASCRIPT代码判断用户终端类型. PHP ...
- sctf pwn300
拿到程序后,拉入IDA,大概看了一番后,尝试运行,进一步了解程序的功能. 发现NX enabled,No PIE. 一号是一个猜数字的游戏,二号是一个留言本,三号是打印出留言的内容,四号是退出. 观察 ...
- jQuery load()和ready()
ready与load谁先执行: 大家在面试的过程中,经常会被问到一个问题:ready与load那一个先执行,那一个后执行?答案是ready先执行,load后执行. DOM文档加载的步骤: 要想理解为什 ...
- 项目中经常用到的reset.css文件
html,body{width:100%; height: auto;} *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box- ...
- jquery解决onmouseover和onmouseout合用的bug问题
经常会遇到鼠标放到一个元素上显示另外一个元素,这两个元素是父子关系,比如在A上绑定mouseover和mouseout事件来显示或隐藏B元素,A元素包含B元素,当鼠标移到B元素后浏览器认为你移开了A, ...
- javascript每日一练—运动
1.弹性运动 运动原理:加速运动+减速运动+摩擦运动: <!doctype html> <html> <head> <meta charset="u ...
- javascript外部ファイル
function myFunction() { document.getElementById("demo").innerHTML = "Paragraph cha ...