一.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. Selenium实战(六)——数据驱动应用

    一.数据驱动 由于大多数文章和资料都把“读取数据文件”看做数据驱动的标志,下面创建一个baidu_data.csv文件: 文件第一列为测试用例名称,第二列为搜索的关键字.接下来创建test_baidu ...

  2. sqlserver数据库重启

    停止:net stop mssqlserver 重启:net start mssqlserver

  3. NIM游戏的Python实现

    可执行程序下载: 链接:https://pan.baidu.com/s/1xQedrWRBsqQRZvOe91Rvng 提取码:goi9 Nim游戏是博弈论中最经典的模型(之一),它又有着十分简单的规 ...

  4. springboot web - 启动(2) run()

    接上一篇 在创建 SpringApplication 之后, 调用了 run() 方法. public ConfigurableApplicationContext run(String... arg ...

  5. 最新Idea激活码,持续更新

    更新时间2020-01-10,亲测可用. 激活码老是失效,太麻烦,选择永久激活的方法,此方法,只针对Idea2019.2.1以及之前版本的. 附上链接: https://www.cnblogs.com ...

  6. centos6/7 下升级openssl并安装python3

    今天是2019年的最后一天了,看了看自己今年写的随笔就一篇,实在有点少得可怜,就想着趁现在有点时间就再写一篇,^_^ centos6 或者centos 7 python 默认都是安装python 2 ...

  7. RocketMQ的生产者和消费者

    生产者: /** * 生产者 */ public class Provider { public static void main(String[] args) throws MQClientExce ...

  8. 小白月赛22 D : 收集纸片

    D:收集纸片 考察点 : 全排列,对数据范围的估计程度 坑点 : 注意算最后回到初始的那步距离 析题得侃 : 一看题目最短路,诶呦,这不是最拿手的 BFS 走最短路吗?哈哈,定睛一看 这么多目的地,这 ...

  9. 蓝桥杯第十届C组试题C

    从0开始,从右到左给这些字符串的每一位字母起个名字. 比如:A(1位)A(0位) A(2位)A(1位)A(0位) AA = 27, 可以看成(26 * 1)+ A(1) 因为:字母每经过一个轮回,可就 ...

  10. npm 基础命令

    npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准.有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包.npm 从5.2版开始,增加了 ...