一.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. C# 数组冒泡排序复习

    using System; namespace runoob { class MyClass { static void Main(string[] args) { MyClass1 myClass ...

  2. 基于element-ui 模仿微信聊天页面以及滚动条隐藏在chrome和其他浏览器的处理

    1.效果图 2.代码 <template> <div style=" overflow: hidden;"> <el-row> <el-c ...

  3. maven的核心概念——生命周期

    第十一章生命周期 11.1 什么是Maven的生命周期 ●Maven生命周期定义了各个构建环节的执行顺序,有了这个清单,Maven就可以自动化的执行构建命令了. ●Maven有三套相互独立的生命周期, ...

  4. 修改sudoers

    使用visudo命令 [root@898f990a8808 etc]# visudo

  5. Ansible-Tower使用文档

    导航栏介绍 # viewes Dashboard 仪表盘展示信息的 Jobs 跑过的任务记录 Schedules 计划任务 My View 查看用户的工作模版,和任务记录 # resources Te ...

  6. Spark学习之路 (六)Spark Transformation和Action[转]

    Transformation算子 基本的初始化 (1)java static SparkConf conf = null; static JavaSparkContext sc = null; sta ...

  7. PP: Taking the human out of the loop: A review of bayesian optimization

    Problem: Design problem parameters consist of the search space of your model. Scientists design expe ...

  8. vue动态绑定图片和背景图

    1.动态绑定图片 <img class="binding-img" :src="require('../assets/images/test.png')" ...

  9. 常用的一些git命令整合

    一.创建一个版本库 1.mkdir xxx 2.git init 使用git init命令将这个目录变成Git可以管理的仓库 这个版本仓库创建好了,xxx目录下有一个隐藏的.git目录(里面有暂存区( ...

  10. Socket之UDP

    相对于TCP/IP来说,UDP更像是发快递和写信,不需要判断和对方是否连通就可以发送,而TCP/IP必须确认连通之后才可以发送,这样UDP通讯其实不能严格按照TCP/IP的说法区分服务器和客户端,对于 ...