C# 如何使用文本框和按钮按id查找员工
我的问题是如何根据员工ID查找员工,例如,如果我在文本框17432中键入,当我单击搜索按钮时,它应该为我提供员工ID全名姓氏和薪资信息C# 如何使用文本框和按钮按id查找员工,c#,button,textbox,C#,Button,Textbox,我的问题是如何根据员工ID查找员工,例如,如果我在文本框17432中键入,当我单击搜索按钮时,它应该为我提供员工ID全名姓氏和薪资信息 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tas
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Project_employee
{
public partial class Form1 : Form
{
Employee[] employee = new Employee[10];
public Form1()
{
InitializeComponent();
employee[0] = new Employee(17432, "john", "Adverd", 800.00);
employee[1] = new Employee(17433, "Adrian", "Smith", 800.00);
employee[2] = new Employee(17434, "Stephen", "Rad", 9000.00);
employee[3] = new Employee(17435, "Jesse", "Harris", 800.00);
employee[4] = new Employee(17436, "jonatan", "Morris", 9500.00);
employee[5] = new Employee(17437, "Morgen", "Freeman", 12000.00);
employee[6] = new Employee(17438, "Leory", "Gomez", 10200.00);
employee[7] = new Employee(17439, "Michael", "Brown", 9000.00);
employee[8] = new Employee(17440, "Andrew", "White", 3500.00);
employee[9] = new Employee(17441, "Maria", "Carson", 17000.00);
}
private void Searchbtn_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
for (int i = 0; i < 10; i++)
{
string employeeString = employee[i].employeeInformationToString() + "\r\n";
listBox1.Items.Add(employeeString);
}
}
public void Lowestemployeesalary()
{
listBox1.Items.Clear();
double Minimumsal = employee[0].Salary;
for(int i = 0; i < employee.Count(); i++)
{
if(Minimumsal > employee[i].Salary )
{
Minimumsal = employee[i].Salary;
}
}
for(int j = 0; j < employee.Count(); j++)
{
if(Minimumsal == employee[j].Salary)
{
string result = string.Format("{0} {1} {2} {3}", employee[j].EmployeeIDNum, employee[j].FullName, employee[j].LastName, employee[j].Salary);
listBox1.Items.Add(result);
}
}
}
public void Highemployeesalary()
{
listBox1.Items.Clear();
double Mixsal = employee[0].Salary;
for (int i = 0; i < employee.Count(); i++)
{
if (Mixsal < employee[i].Salary)
{
Mixsal = employee[i].Salary;
}
}
for (int j = 0; j < employee.Count(); j++)
{
if (Mixsal == employee[j].Salary)
{
string result = string.Format("{0} {1} {2} {3}", employee[j].EmployeeIDNum, employee[j].FullName, employee[j].LastName, employee[j].Salary);
listBox1.Items.Add(result);
}
}
}
private void getinfibtn_Click(object sender, EventArgs e)
{
Lowestemployeesalary();
}
private void highestbtn_Click(object sender, EventArgs e)
{
Highemployeesalary();
}
private void sreachbtn_Click(object sender, EventArgs e)
{
//// Need Some Thing Here
}
}
}
您的表单中有
员工的集合
您只需要简单的Linq
就可以为给定的employeeid找到一名员工
var found = employee.FirstOrDefault(e=>e.EmployeeIDNum == employeeid);
if(found != null)
{
// logic here.
// found.employeeInformationToString();
listBox1.Items.Clear(); // check this if you want to clear.
listBox1.Items.Add(found.employeeInformationToString());
}
所以你的完整搜索代码应该是
private void sreachbtn_Click(object sender, EventArgs e)
{
//// Need Some Thing Here
int employeeid;
if(int.TryParse(textbo1.Text, out employeeid)) // use your textbox name.
{
var found = employee.FirstOrDefault(e=>e.EmployeeIDNum == employeeid);
if(found != null)
{
// logic here.
found.employeeInformationToString()
}
}
}
更新:
看起来您不熟悉Linq
,在这种情况下,请尝试使用传统的循环
private void sreachbtn_Click(object sender, EventArgs e)
{
//// Need Some Thing Here
int employeeid;
if(int.TryParse(textbo1.Text, out employeeid))
{
Employee found= null;
foreach(var emp in employee)
{
if(emp.EmployeeIDNum == employeeid)
{
found = emp;
break;
}
}
//var found = employee.FirstOrDefault(e=>e.EmployeeIDNum == employeeid);
if(found != null)
{
// logic here.
found.employeeInformationToString()
}
}
}
给你
private void sreachbtn_Click(object sender, EventArgs e)
{
int searchID = int.Parse(txtIdSearch.Text);
// Need to handle if the user input is not a number..
Employee[] employeeResults = employee.Where(e => e.employeeID == searchID).ToArray();
// For possibility that your ID is not unique..
// code to display results
for (int i = 0; i < employeeResults .Length; i++)
{
string employeeString = employeeResults [i].employeeInformationToString() + "\r\n";
listBox1.Items.Add(employeeString);
}
}
private void sreachbtn\u单击(对象发送方,事件参数e)
{
int searchID=int.Parse(txtIdSearch.Text);
//如果用户输入不是数字,则需要处理。。
Employee[]employeeResults=Employee.Where(e=>e.employeeID==searchID.ToArray();
//您的ID可能不是唯一的。。
//显示结果的代码
for(int i=0;i
我遇到此错误,无法在此作用域中声明名为“e”的本地或参数,因为该名称在封闭的本地作用域中用于定义本地或参数项目Employee我遇到此错误,无法在此作用域中声明名为“e”的本地或参数,因为该名称在封闭的本地作用域中用于定义本地或参数参数Project employeei现在收到此错误使用未分配的局部变量'found'Project Employee只是说Employee found=null
现在另一个错误名称'EmployeeIDNum'在当前上下文项目employeei中不存在,但在类中存在
private void sreachbtn_Click(object sender, EventArgs e)
{
int searchID = int.Parse(txtIdSearch.Text);
// Need to handle if the user input is not a number..
Employee[] employeeResults = employee.Where(e => e.employeeID == searchID).ToArray();
// For possibility that your ID is not unique..
// code to display results
for (int i = 0; i < employeeResults .Length; i++)
{
string employeeString = employeeResults [i].employeeInformationToString() + "\r\n";
listBox1.Items.Add(employeeString);
}
}