java员工打卡情况_考勤信息(员工打卡)
实现员工的添加,查询和删除,并用dgvList显示出来
1.1///先声明一个单列集合
public List list = new List();
1.2///初始化三个对象
private void FrmMain_Load(object sender, EventArgs e)
{
SE s1 = new SE();
s1.id = 20161000;
s1.name = "张三";
s1.age = 20;
s1.gender = "男";
SE s2 = new SE();
s2.id = 20161002;
s2.name = "李四";
s2.age = 18;
s2.gender = "男";
SE s3 = new SE();
s3.id = 20161004;
s3.name = "凤姐";
s3.age = 20;
s3.gender = "女";
1.3//把数据添加到集合中并用dgvList加载出来
list.Add(s1);
list.Add(s2);
list.Add(s3);
dgvList.DataSource =(list);
}
1.4 private void btn01_Click(object sender, EventArgs e)
{
///创建临时的单列集合来存储数据
List llist = new List();
//遍历集合中的对象
foreach (SE item in list)
{
//判断要查询对象的工号的下标是否存在
if(item.Id.IndexOf(txt01.Text.Trim())!=-1)
{
llist.Add(item); //把数据加入到临时集合中
}
}
//把查询到的数据绑定到dgvList中
dgvList.DataSource = new BindingList(llist);
}
1.5 private void toolStripButton3_Click(object sender, EventArgs e)
{
///删除前先考虑根据什么来删除数据
///我根据员工工号来删除 首先得到工号
string id = dgvList.SelectedRows[0].Cells[0].Value.ToString();
//使用for循环来查找
for (int i = 0; i < list.Count; i++)
{
//判断数据是否相等再删除
if(list[i].Id==id)
{
list.RemoveAt(i);
}
}
//删除后还得再重新绑定数据
dgvList.DataSource = new BindingList(list);
}
1.6///声明一个静态的双列集合
public static Dictionary recordList = new Dictionary();
//单击签到
private void 签到ToolStripMenuItem_Click(object sender, EventArgs e)
{
//判断是否选中一行
if(dgvList.SelectedRows.Count!=1)
{
MessageBox.Show("请选中一行");
return;
}
//把选中的数据传给记录列表
string no = dgvList.SelectedRows[0].Cells[0].Value.ToString();
foreach (string id in recordList.Keys)
{
if(no==id)
{
MessageBox.Show("您已签到过");
return;
}
}
Record record = new Record();
record.ID = no;
record.Name= dgvList.SelectedRows[0].Cells[1].Value.ToString();
record.StratTime = DateTime.Now;
recordList.Add(record.ID,record);
MessageBox.Show("签到成功");
}
1.7///单击签退
private void 签退ToolStripMenuItem_Click(object sender, EventArgs e)
{
//判断是否选中一行
if (dgvList.SelectedRows.Count != 1)
{
MessageBox.Show("请选中一行");
return;
}
//把选中的数据传给记录列表
string no = dgvList.SelectedRows[0].Cells[0].Value.ToString();
bool falg = false;
//判断是否有签到记录
foreach (string key in recordList.Keys)
{
if(key==no)
{
///执行签到
recordList[key].EndTime = DateTime.Now;
MessageBox.Show("签退成功");
falg = true;
break;
}
}
if(falg==false)
{
MessageBox.Show("您还没有签到");
}
}
1.8///声明一个Record类
public class Record
{
public string Name { get; set; }
public DateTime StratTime { get; set; }
public DateTime EndTime { get; set; }
public String ID { get; set; }
}
1.9///调用签到记录窗口
private void toolStripButton4_Click(object sender, EventArgs e)
{
FrmRecord record = new FrmRecord();
record.Show();
}
2.0///调用增加员工的窗口
private void toolStripButton1_Click(object sender, EventArgs e)
{
FrmAdd add = new FrmAdd();
Hide();
add.Show();
}
2.1///添加员工
private void btn01_Click(object sender, EventArgs e)
{
///通过保存把数据加到集合中
//首先创建一个对象并赋值
SE se = new SE();
se.Id = txt01.Text;
se.Name = txt03.Text;
se.Age = txt02.Text;
se.Gender = cbo01.Text;
foreach (SE item in FrmMain.list)
{
if (item.Id == txt01.Text)
{
MessageBox.Show("此工号已存在");
return;
}
}
//把数据加到list集合中,因为集合是在主窗体中声明的需要调用
FrmMain main = new FrmMain();
FrmMain.list.Add(se);
main.Show();
}
2.2
private void FrmAdd_Load(object sender, EventArgs e)
{
//把男和女添加到下拉列表框中
cbo01.Items.Add("男");
//把男默认选中
cbo01.SelectedIndex=0;
cbo01.Items.Add("女");
}
java员工打卡情况_考勤信息(员工打卡)相关推荐
- 坐地铁可以刷学生卡吗_在沈阳办的公交卡能刷地铁吗?是学生卡,卡上写的是盛京通...
展开全部 截止2019年4月1日,在沈阳办的公交卡(盛京通62616964757a686964616fe59b9ee7ad9431333431346331)能是不能刷地铁的,盛京通学生卡有以下几个类型 ...
- JAVA设计一个fan类_北京信息科技大学java语言程序设计-类和对象
北京信息科技大学java语言程序设计-类和对象 [实验名称]实验2 类和对象 [实验目的] 1.学习和掌握Java创建对象的方法. 2.学习和掌握通过创建对象.使用类的方法. 3.学习和掌握Java类 ...
- java阴阳师抽卡概率_阴阳师妖怪屋抽卡概率分析 平民抽卡心得分享
阴阳师妖怪屋手游中抽卡概率是怎样的呢?作为一款卡牌游戏,其中最核心的玩法就是就是抽卡了,然后进行式神培养,玩家都想要在卡池中抽到SSR式神,但是其概率还是比较低的,想要全图鉴需要花费大量的金钱,下面小 ...
- java状态模式所有情况_轻松掌握Java状态模式
定义:在状态模式(State Pattern)中,类的行为是基于它的状态改变的. 特点: 1.封装了转换规则. 2.枚举可能的状态,在枚举状态之前需要确定状态种类. 3.将所有与某个状态有关的行为放到 ...
- java项目添加功能失败_学生信息的添加 Java web简单项目初试(失败)
题目要求: 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示"• "或"*"表示输入位数,密码要求八位以上字 ...
- 手机吃鸡语音服务器异常是怎么回事,绝地求生语音卡怎么办_绝地求生新版本语音卡解决办法介绍_游戏吧...
绝地求生第21轮更新后,出现了很多问题最常见的就是游戏语音出错以及无法返回大厅.今天游戏吧小编就为大家带来绝地求生新版本语音卡解决办法介绍.希望对大家有所帮助. 在21轮更新后,有小伙伴反应语音时常出 ...
- sourcetree 卡顿_快手与直播延迟卡顿较劲的这些年
2020 年,COVID-19 成为"世界的通用语言",截止 7 日 2 日,全球累计确诊超过 1071 万人.目前,虽然世界各国不再提倡全民主动宅家战"疫", ...
- spyder一打开就卡了_欧姆龙plc 用 SD 卡上传/下载程序
以Nx102为例,NJ类似. 使用 SD 卡将 Sysmac Studio 编写的程序传入 NX1P2 内: 使用 SD 卡对 NX1P2 的程序进行备份, 查看备份的程序, 并把备份的程序传入另一台 ...
- 黑苹果音频卡顿_手机耗电大、卡顿怎么办?只需关掉这个按键轻松解决,去试试...
阅读本文前,请您先点击上面的"议科技",关注,这样您就可以继续收到最新文章了.每天都有分享.完全是免费订阅,请放心关注. 大家好,很高兴认识大家,话不多说,进入正题,手机现在已经是 ...
最新文章
- 写给开发者的 10 条机器学习建议
- java 调用存储过程structdescriptor,Java调用oracle存储过程,集合入参的正确姿势
- 完整叙述html的语法结构,html article介绍与语法结构
- css background-position
- 【Redis】13.Redis服务器配置redis.conf
- “\”C++中的换行符
- 使用插件创建 .NET Core 应用程序
- linux搭建vsftp服务器_Linux配置VSFTP服务器的方法
- Java程序员一些常用的日志和其他Linux命令(自用)
- jdbc mysql url写法_MySQL第04篇:JDBC
- Matlab中冒号“:“的使用方法
- 实时计算在天猫双十一大屏中的应用
- 如何在程序中不用加号实现加法_python不用加号实现加法
- 《那些年啊,那些事——一个程序员的奋斗史》——18
- java界面加入图片_JAVA界面设计怎么插入背景图片。
- vue 路由跳转 外部链接
- Attention概述
- 如何查mysql里有多少条数据_mysql快速查询数据库中有多少条数据
- Failed installing 'Tomcat6' service
- (ChatGPT)429 You are being rate limited