c#数据筛选和排序

一.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);
                }
            }

原文地址:https://www.cnblogs.com/chx9832/p/9459591.html

时间: 2024-10-09 21:21:40

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

数据筛选和排序------的解析

一.TreeView SelectedNode 选中的节点 Level 节点的深度(从0开始) AfterSelect 节点选中后发生 1.获取节点深度 this.tvlist.SelectNode.Level 2.获取节点名称 this.tvlist.SelectNode.Text 二.使用DataView筛选和排序数据 RowFilter指定筛选条件 Sort指定排序方式 //窗体运行时默认选中全部 if (this.tvstulist.SelectedNode.Level == 0) {

数据筛选和排序

一.TreeView:树状控件  属性:   1.Nodes:设置节点      每个节点设置:       Text:节点文本       imageIndex:节点图片       SelectimageIndex:节点选中时的图片   2.imageList:   3.Level:节点深度,从0开始,根节点是0   4.SelectedNode:选中的节点   事件:      AfterSelect:节点选中之后执行二.视图对象:DataView   1.创建:     DataView

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

'近日有本论坛网友问:DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样 '今晚正好闲着没事,加之以前也没用到过这个需求,所以就写了个模拟功能,供各位坛友酌情参考. 'VB.NET 2008 环境 '新建一个项目后,只需在Form1中拉一个DataGridView,一个ComboBox,然后将下面代码复制粘贴即可,其它什么也不用做 Public Class Form1 Dim SelectedCol As Integer = 0, IsFindit As Boo

Linq(筛选与排序)

Linq(筛选与排序) 以下内容转载自:http://www.cnblogs.com/xfrog/archive/2010/09/11/1824086.html 本文将讲述LINQ的基础查询(此文所有例子都使用LINQ to Object) 在此之前,我们先创建一个用于示例的数据源: Student类:表示学生,包括学号.姓名及班级 Courses类:表示学生选择的课程,包括学号.课程名称及学时数 DataCreator类:静态类,通过GenerateData方法产生示例数据 生成的数据如下:

excel3——数据筛选

元数据 数据--筛选---自动筛选---输入条件和数值

关于数据筛选的不打不小的问题

问题如下: 假设这样一种情况,首先说明,信息是存放在mysql数据库中的.情况如下,A表信息堆是百万级信息堆(每条信息长度不长,基本在20字符以内,属于简短词语),B则是一条普通信息(长度大概在500字符左右),问,有哪种最有效的方式可以来判断B信息中是否包含有A堆中的信息并返回包含的信息? 在此提供一种解法,如果大家有更好的解法欢迎大家留言交流! 由于A信息堆数据量比较大并存放于数据库中,故产生一个很简单的解法,直接通过一条sql解决,当然,这样会衍生一个问题就是sql优化,如何减少搜索时间就

【HOW】如何对Reporting Services表格中数据按字段排序

Reporting Services中可以设置排序的地方非常多,有很多地方从其字面意思上好像是对表格数据的排序,但实际都不管用.在多次尝试后,得到如下的有效设置方式: 1. 鼠标右键单击要排序字段的内容单元格(不是标题单元格). 2. 在弹出菜单中选择:行组 > 组属性. 3. 在弹出窗口中选择"排序"选项卡,并在右侧界面中添加排序依据. 有时,在完成如上设置后仍未看到正确排序,这可能是因为对应数据集的排序规则(类似字符集)不正确,设置方法如下: 1. 在表格对应的数据集名称上右

数据库中复杂的联查+筛选条件+排序+分页

数据库中复杂的联查+筛选条件+排序+分页一直是比较头疼的问题 为了模拟这个问题,首先建立两个表 create table t_userType ( id int identity(1,1) not null primary key, name varchar(50) ) GO create table t_user ( id int identity(1,1) not null primary key, t_userTypeId int not null, name varchar(50), f

对大数据量进行排序--位图法

题目:对2G的数据量进行排序,这是基本要求. 数据:1.每个数据不大于8亿:2.数据类型位int:3.每个数据最多重复一次. 内存:最多用200M的内存进行操作. 我听过很多种类似问题的解法,有的是内存多次利用,有的用到了外存,我觉得这两种做法都不是比较好的思想,太慢.由于这个题目看起来没有对效率进行约束,所以这两种方法也是对的,但是我这次提出一个比较好的算法来解答此题,如果有更好的做法请赶快跟帖留言,共同讨论.希望大神们的加入..... 思想:把200M的内存平分,可以开两个数组,一个数组ar