Ext.Net 使用总结之GridPanel的删除事件

时间:2022-12-24 22:16:56

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的删除事件的更多相关文章

  1. Ext&period;Net学习笔记18:Ext&period;Net 可编辑的GridPanel

    Ext.Net学习笔记18:Ext.Net 可编辑的GridPanel Ext.Net GridPanel 有两种编辑模式:编辑单元格和编辑行. 单元格编辑: 行编辑: 可以看出,单元格编辑的时候,只 ...

  2. Ext&period;Net 1&period;x&lowbar;Ext&period;Net&period;GridPanel 事件

    1.行双击事件 首先设置选择方式为RowSelectionModel单行选中 [html] view plaincopy <SelectionModel> <ext:RowSelec ...

  3. Extjs中给同一个GridPanel中的事件添加参数的方法

    Extjs中给同一个GridPanel中的事件添加参数的方法: this.isUse = new Ext.Action({            text:'启用',            scope ...

  4. AJAX删除事件与加载数据

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 数组练习:各种数组方法的使用&amp&semi;&amp&semi;事件练习:封装兼容性添加、删除事件的函数&amp&semi;&amp&semi;星级评分系统

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 【jquery】【ztree】节点添加自定义按钮、编辑和删除事件改成自己定义事件

    setting添加 edit: { drag: { isCopy: false, isMove: true }, enable: true,//设置是否处于编辑状态 showRemoveBtn: sh ...

  7. javaScript 删除事件 弹出确认 取消对话框

    javaScript 删除事件 弹出确认 取消对话框 1. <a href="javascript:if(confirm('确实要删除?'))location='http://www. ...

  8. 编辑 Ext 表格(一)——— 动态添加删除行列

    一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除.   (1) 动态添加表格的行  gridS ...

  9. Ext&period;NET 4&period;1&period;0 GridPanel数据分页

    针对大量数据在前端展示,需要进行分页显示,这里我使用的数据量为100万,数据存储在MongoDb中(也可以存储在本地文件或其它数据库中).最终显示效果如下: 步骤如下: 1.新建程序并配置,详见htt ...

随机推荐

  1. 个人PHP开发环境的选择与搭建

    入职一个多月,重新调整了一下自己电脑的开发环境,现在写出来,算是作为自己的笔记. 如果你是该文章的读者,请忍受文章内的所有小章节都没有具体的步骤. 因为平时还要打游戏(划掉),所以电脑系统一直是Win ...

  2. &lbrack;HIHO1196&rsqb;高斯消元&&num;183&semi;二(高斯消元、枚举*变元)

    题目链接:http://hihocoder.com/problemset/problem/1196 #include <bits/stdc++.h> using namespace std ...

  3. MVC5&plus;EF6&plus;BootStrap3&period;3&period;5 博客系统之项目搭建(一)

    环境:vs2013,sql2008R2 引用版本:MVC5,EF6,BootStrap3.3.5 在之前一直都是webfrom开发,虽然开发简单:但是有很多不足的地方.在之前开发都是webfrom+M ...

  4. Linux消息队列

    #include <stdio.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/ms ...

  5. Hadoop学习笔记(4)hadoop集群模式安装

    具体的过程参见伪分布模式的安装,集群模式的安装和伪分布模式的安装基本一样,只有细微的差别,写在下面: 修改masers和slavers文件: 在hadoop/conf文件夹中的配置文件中有两个文件ma ...

  6. Geohash-》基本使用

    我把类文件放到了以上这个路径,在要使用的文件引入使用. 以下是测试代码, 1.先实例化类 2.再调用函数 3.这个函数返回GeoHash编码

  7. redux 最简例子

    方便初学redux的同学学习,这里是最简单的redux例子 1 import React, {Component, PropTypes} from 'react' 2 import ReactDOM ...

  8. Cocos2D iOS之旅&colon;如何写一个敲地鼠游戏&lpar;九&rpar;&colon;创建动画

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  9. 【MySQL】随机获取数据的方法,支持大数据量

    在mysql中带了随机取数据的函数,在mysql中我们会有rand()函数,很多朋友都会直接使用,如果几百条数据肯定没事,如果几万或百万时你会发现,直接使用是错误的.下面我来介绍随机取数据一些优化方法 ...

  10. linux下MySQL安装及设置(二)

    MySQL二进制分发包安装 去MySql官网下MySQL classic版mysql-5.6.30-osx10.11-x86_64.tar.gz  http://dev.mysql.com/downl ...