每次选择组合框后清除数据网格视图以检索新数据

本文关键字:数据 视图 检索 新数据 网格 数据网 选择 组合 清除 | 更新日期: 2023-09-27 18:06:32

我的员工视图表单中有三个类别,它们是:
1-所有员工
2 -经理
3 -员工
这三个类别被设置为组合框中的项目,每次我选择其中一个项目时,它应该显示有关所选项目的数据…问题是数据网格视图没有清除它的第一个数据来检索新数据
构造函数中的代码用于显示所有员工

 da = new SqlDataAdapter("select empId as ID,empName ,empAdd,empBdate,empPhone1,empPhone2,empEmail,empSSN,empQualf from emp", cn);
            da.Fill(dt);
            empViewdgv.DataSource=dt;  

和其他代码,用于检索选择组合框项的员工数据

 private void empViewcmbo_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (empViewcmbo.SelectedIndex == 0)
            {
                empViewdgv.DataSource = null;
                empViewdgv.Rows.Clear();
                da = new SqlDataAdapter("select empId as ID,empName ,empAdd,empBdate,empPhone1,empPhone2,empEmail,empSSN,empQualf from emp", cn);
                da.Fill(dt);
                empViewdgv.DataSource = dt;
            }
            else if (empViewcmbo.SelectedIndex == 1)
            {
                empViewdgv.DataSource = null;
                empViewdgv.Rows.Clear();
                da = new SqlDataAdapter("select empId as ID,empName ,empAdd,empBdate,empPhone1,empPhone2,empEmail,empSSN,empQualf from emp where empPerm='Manager'", cn);
                da.Fill(dt);
                empViewdgv.DataSource = dt;
            }
            else if (empViewcmbo.SelectedIndex == 2)
            {
                empViewdgv.DataSource = null;
                empViewdgv.Rows.Clear();
                da = new SqlDataAdapter("select empId as ID,empName ,empAdd,empBdate,empPhone1,empPhone2,empEmail,empSSN,empQualf from emp where empPerm='Employee'", cn);
                da.Fill(dt);
                empViewdgv.DataSource = dt;
            }
        }  

当我选择所有员工时,它应该显示所有员工,但如果我选择Manager,它应该首先清空datagridview中的数据,然后显示经理的数据等等。

每次选择组合框后清除数据网格视图以检索新数据

在填充DataTable之前调用Clear()方法

da = new SqlDataAdapter("select empId as ID,......", cn);
            dt.Clear();
            da.Fill(dt);
            empViewdgv.DataSource=dt;