大家好!
我对编码非常陌生,正在尝试通过小项目学习C#。我花了一个星期或更长的时间来寻找解决方案,但是尽管线程很多,但对我来说却没有任何意义,因此无法正常工作。
我有一个带有datagridview的表单,我想创建另外5个组合框以对其进行过滤。全部具有相同的数据源。
假设,如果用户选择具有特定条件的组合框"Role",它将显示担任此角色的员工的所有记录,但是如果用户另外选择另一个组合框,例如"Shift",它将进一步缩小范围"Role" on that "Shift"
到目前为止,我设法使datagridview与一个组合框一起使用,但不知道如何添加更多组合框。
您能否根据我的代码给我一个示例,说明如何添加更多组合框?
非常感谢您的帮助。
下面是代码:
提前致谢!
我有一个带有datagridview的表单,我想创建另外5个组合框以对其进行过滤。全部具有相同的数据源。
假设,如果用户选择具有特定条件的组合框"Role",它将显示担任此角色的员工的所有记录,但是如果用户另外选择另一个组合框,例如"Shift",它将进一步缩小范围"Role" on that "Shift"
到目前为止,我设法使datagridview与一个组合框一起使用,但不知道如何添加更多组合框。
您能否根据我的代码给我一个示例,说明如何添加更多组合框?
非常感谢您的帮助。
下面是代码:
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; using System.Data.SqlClient; namespace TM_Hub { public partial class frmEmpList : Form { public frmEmpList() { InitializeComponent(); } private void frmEmpList_Load(object sender, EventArgs e) { this.PopulateComboBox(); this.PopulateDataGridView(); } private void PopulateComboBox() { string query = "SELECT DISTINCT LastName FROM Employees"; string constr = @"Data Source=DESKTOP-Q2B3UUH\SQLEXPRESS;Initial Catalog=PeopleManager;Integrated Security=True"; using (SqlConnection con = new SqlConnection(constr)) { using (SqlDataAdapter sda = new SqlDataAdapter(query, con)) { //Fill the DataTable with records from Table. DataTable dt = new DataTable(); sda.Fill(dt); //Insert the Default Item to DataTable. DataRow row = dt.NewRow(); row[0] = ""; dt.Rows.InsertAt(row, 0); //Assign DataTable as DataSource. cbLastName.DataSource = dt; cbLastName.DisplayMember = "LastName"; cbLastName.ValueMember = "LastName"; } } } private void PopulateDataGridView() { string query = "SELECT EmpID, FirstName, LastName, 角色, Grade, Dept, 转移 FROM Employees"; query += " WHERE LastName = @LastName"; query += " OR ISNULL(@LastName, '') = ''"; string constr = @"Data Source=DESKTOP-Q2B3UUH\SQLEXPRESS;Initial Catalog=PeopleManager;Integrated Security=True"; using (SqlConnection con = new SqlConnection(constr)) { using (SqlCommand cmd = new SqlCommand(query, con)) { cmd.Parameters.AddWithValue("@LastName", cbLastName.SelectedValue); using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) { DataTable dt = new DataTable(); sda.Fill(dt); dgEmpList.DataSource = dt; } } } } private void cbLastName_SelectionChangeCommitted(object sender, EventArgs e) { this.PopulateDataGridView(); } } }
提前致谢!
Last edited: