一.TreeView

SelectedNode    选中的节点
            Level    节点的深度(从0开始)    
            AfterSelect    节点选中后发生

1.获取节点深度

this.tvlist.SelectNode.Level

2.获取节点名称

this.tvlist.SelectNode.Text

二.使用DataView筛选和排序数据

RowFilter指定筛选条件
            Sort指定排序方式

//窗体运行时默认选中全部
            if (this.tvstulist.SelectedNode.Level == 0) {
                ShowStudent();
            }
            else if (this.tvstulist.SelectedNode.Level == 1) {
                DataView dv = new DataView(ds.Tables["Student"]);
                dv.RowFilter = "GradeName='"+this.tvstulist.SelectedNode.Text+"'";
                this.dgvstulist.DataSource = dv;
            }
            else if (this.tvstulist.SelectedNode.Level == 2) {
                
                DataView dv = new DataView(ds.Tables["Student"]);
                dv.RowFilter = "GradeName='" + this.tvstulist.SelectedNode.Parent.Text + "' and Sex='" + this.tvstulist.SelectedNode.Text + "'";
                dv.Sort = "StudentNo desc";
                this.dgvstulist.DataSource=dv;
            }

三.删除数据

SelectionMode指定选中DataGradeView的选中方式

DialogResult result= MessageBox.Show("是否删除","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
            if (result == DialogResult.Yes) {
                //获取选中的学号的值
                int studentno=(int)this.dgvstulist.SelectedRows[0].Cells["StudentNo"].Value;
                try
                {
                    helper.OpenConnection();
                    string sql = "delete from Student where StudentNo='"+studentno+"'";
                    SqlCommand cmd = new SqlCommand(sql,helper.Con);
                    int count=cmd.ExecuteNonQuery();
                    if (count > 0)
                    {
                        MessageBox.Show("删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        ShowStudent();
                    }
                    else {
                        MessageBox.Show("删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception x)
                {
                    MessageBox.Show(x.Message);
                }
            }

c#数据筛选和排序的更多相关文章

  1. 【转载】使用Pandas对数据进行筛选和排序

    使用Pandas对数据进行筛选和排序 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas对数据进行筛选和排序 目录: sort() 对单列数据进行排序 对多列数据进行排序 获取金额最小前10项 ...

  2. PourOver – 快速筛选和排序大的数据集合

    PourOver 是一个用于对大数据集合进行快速过滤的 JavaScript 库.它可以在60fps下运行,允许您构建数据研究应用和档案,即不必等待一个数据库调用来呈现查询结果. PourOver 基 ...

  3. C#对DataTable里数据筛选排序的方法

    在日常开发过程中,有一个DataTable集合,里面有很多字段,现在要求针对某一列进行排序,如果该列为数字的话,进行ASC即可实现,但是该字段类型为string,此时排序就有点不正确了 protect ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(81)-数据筛选(万能查询)

    系列目录 前言 听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选) 我们都知道Excel中是如何筛选数据的.就像下面一样 他 ...

  5. DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样

    '近日有本论坛网友问:DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样 '今晚正好闲着没事,加之以前也没用到过这个需求,所以就写了个模拟功能,供各位坛友酌情参考. ...

  6. Pandas 数据筛选,去重结合group by

    Pandas 数据筛选,去重结合group by 需求 今小伙伴有一个Excel表, 是部门里的小伙9月份打卡记录, 关键字段如下: 姓名, 工号, 日期, 打卡方式, 时间, 详细位置, IP地址. ...

  7. drf-jwt手动签发与校验,drf小组件:过滤、筛选、排序、分页

    复习 """ 频率组件:限制接口的访问频率 源码分析:初始化方法.判断是否有权限方法.计数等待时间方法 自定义频率组件: class MyThrottle(SimpleR ...

  8. oracle之数据限定与排序

    数据限定与排序 6.1 简单查询语句执行顺序 from, where, group by, having, order by, select where限定from后面的表或视图,限定的选项只能是表的 ...

  9. MySQL之where条件数据筛选

    语法: -- select * from 表名 where 条件; 测试数据: -- 建表语句 create table `student` ( `sid` int(11) primary key a ...

随机推荐

  1. Jenkins+robotframework持续集成环境(二)

    配置Jenkins上的robotframework环境 一.添加robot插件 需要导一个robot framework 的包,导包方式如下: 1.进入插件管理页面,选择“可选插件”,在右侧搜索栏搜索 ...

  2. pads无模命令

    W<n>………改变线宽,比如 30. 栅格(Grids) G<xx>………过孔和设计栅格设置.GD<xx>………显示栅格设置.GP………打开或关闭极性栅格.GP r ...

  3. docker镜像下载出现:received unexpected HTTP status: 500 Internal Server Error

    1.镜像下载总是出现报错:received unexpected HTTP status: 500 Internal Server Error 2.尝试多种方法: ①阿里云docke加速器:注册之后, ...

  4. .net mvc 多文件上传

    1.input文件上传设置允许选择多个文件,设置属性 multiple即可 <input type="file" multiple="multiple" ...

  5. RPC failed,因为文件tag太大git clone失败

    Cloning into 'large-repository'... remote: Counting objects: 20248, done. remote: Compressing object ...

  6. 使用微信扫一扫时获取sign签名

    private $appId = '你的APPID'; private $appSecret = '你的APPsecret'; /** * 获取签名信息 * @return array */ publ ...

  7. Docker 使用记录

    1.Docker 镜像加载本地镜像 2.Docker 创建镜像: 创建dockerfile 文件: 进入到文件目录下: 输入命令 docker build -t xxxx . 注意:后面的小点要有, ...

  8. 回溯经典(指定位置N皇后问题)

    N皇后问题自不必多说,这道题的先行条件是在放置的时候已经指定了一个棋子的位置. 输入第一行为N,第二行为指定棋子的坐标(x,y):输出方案总数以及按字典序升序的各种方案. 思路: 首先是回溯,其次对待 ...

  9. Spring学习笔记-装配Bean-02

    什么是装配 创建应用对象之间写作关系的行为通常称为装配(wiring),这也是依赖注入(DI)的本质. Spring配置的可选方案 Spring提供了3中主要的装配机制: ● 在XML中进行显式配置. ...

  10. CSS基础之浮动属性float图文详解

      宏观地讲,我们的web页面的制作,是个“流”,必须从上而下,像“织毛衣”.   标准流里面的限制非常多,导致很多页面效果无法实现.如果我们现在就要并排.并且就要设置宽高,那该怎么办呢?办法是:超脱 ...