C

雅轩聊科技 2024-11-11 20:48:39

哈喽,你好啊,我是雷工!

由于出差原因,有时间没有学习C#的这套课程了,今天忙里抽闲学会儿会儿课。

在前面学习了,这里继续学习通过DataTable显示全部成绩后,能够实现基于DataTable的视图实现绩效的快速筛选。

这样的话可以实现从本地做数据筛选,而不是每次改变筛选条件都需要再次从数据库中进行查询。

以下为学习笔记。

本实例的最新进度的源码会更新到C# 技术交流群中,有需要的小伙伴可以从群内获取。

01 效果演示

1.1、战斗力

根据战斗力快速筛选对应人员:

1.2、所属组织

根据所属组织快速筛选:

1.3、全部数据

点击【显示全部数据】按钮,恢复界面打开时显示的所有数据。

02 实现步骤

2.1、 添加TextChanged事件

找到人员绩效快速查询窗体,在输入战斗力的文本框中添加一个TextChanged事件。

即当文本框的数值发生变化时要执行的事件代码。

在该事件后双击,创建并关联事件代码。

在代码页生成下面代码,习惯性的添加上注释://根据战斗力动态筛选。

2.2、判断逻辑

在动态筛选代码执行之前需要先确保在前面已经查询到了绩效表,并且要保证在战斗力文本框非空且输入的是一个正整数。

2.3、TextChanged事件代码

//根据战斗力动态筛选private void txtScore_TextChanged(object sender, EventArgs e){ if (this.txtScore.Text.Trim().Length == 0) return; if (Common.DataValidate.IsInteger(this.txtScore.Text.Trim())) {this.ds.Tables[0].DefaultView.RowFilter = "Category1>" + this.txtScore.Text.Trim(); }}

2.4、显示全部数据

在UI界面选中显示全部按钮,添加点击事件,编写脚本实现显示全部的数据。

代码如下:

//显示全部数据private void btnShowAll_Click(object sender, EventArgs e){ this.ds.Tables[0].DefaultView.RowFilter = "GroupName like '%%'";}

2.5、所属组织

根据所属组织的下拉框选择,自动筛选数据展示。

选中对应下拉框,然后在事件中找到SelectedIndexChanged,双击生成对应事件。

事件代码如下:

//根据所属的组织名称动态筛选private void cboGroup_SelectedIndexChanged(object sender, EventArgs e){if (ds == null) return;this.ds.Tables[0].DefaultView.RowFilter = "GroupName='" + this.cboGroup.Text.Trim() + "'";}03 后记

以上为人员绩效快速查询界面,按照所属组织,战斗力,实现快速筛选的过程。

0 阅读:0

雅轩聊科技

简介:感谢大家的关注