0

我创建了一个这样的datagridview

public void gridviewsetup()
    {
      tbl_Aplication.Columns.Add("1", "Empid");
        tbl_Aplication.Columns.Add("2", "Emp no");
        tbl_Aplication.Columns.Add("3", "Emp Name");
        tbl_Aplication.Columns.Add("4", "Department ");
        tbl_Aplication.Columns.Add("5", "Designation");
        tbl_Aplication.Columns.Add("6", "Shift");
        tbl_Aplication.Columns.Add("7", "Start Time");
        tbl_Aplication.Columns.Add("8", "End Time");
        tbl_Aplication.Columns.Add("9", "OT");
        tbl_Aplication.Columns.Add("10", "Reversed Swipe Out");            
        tbl_Aplication.RowTemplate.Height = 18;            
    }

我已经填充了一个数据表来填充数据 dgridview

 public void filldatagrid()
    {
        if (cmb_dept.Text.Trim() != "")
        {



Datatable employedata = empreg.getallemployeeshiftdetails(int.Parse(cmb_dept.SelectedValue.ToString()), Program.LOCTNPK);

          tbl_Aplication.Rows.Clear();
        tbl_Aplication.DataSource = null;
        for (int i = 0; i < employedata.Rows.Count; i++)
        {

            tbl_Aplication.Rows.Add();
            tbl_Aplication.Rows[i].Cells[1].Value = employedata.Rows[i][0];

            tbl_Aplication.Rows[i].Cells[2].Value = employedata.Rows[i][1];
            tbl_Aplication.Rows[i].Cells[3].Value = employedata.Rows[i][2];
            tbl_Aplication.Rows[i].Cells[4].Value = employedata.Rows[i][3];
            tbl_Aplication.Rows[i].Cells[5].Value = employedata.Rows[i][4];
            tbl_Aplication.Rows[i].Cells[6].Value = employedata.Rows[i][5];
            tbl_Aplication.Rows[i].Cells[7].Value = employedata.Rows[i][6];   
            tbl_Aplication.Rows[i].Cells[8].Value = employedata.Rows[i][7];
            tbl_Aplication.Rows[i].Cells[9].Value = 0;
            tbl_Aplication.Rows[i].Cells[10].Value = employedata.Rows[i][7];           


        }
    }

}

现在我想用组合框中选择的名称过滤数据网格中的数据而不返回数据库,我这样做了,但它显示错误

   private void cmb_designation_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (desgflag != 0)
        {
            if (cmb_dept.SelectedValue!=null )
            {

           // tbl_Aplication.DataSource = employedata;
                ((DataTable)tbl_Aplication.DataSource).DefaultView.RowFilter = " designationnName like '%" + cmb_dept.Text.Trim() + "%' ";
         }
        }
    }
4

1 回答 1

0

我已经做到了

private void cmb_department_SelectedIndexChanged(object sender, EventArgs e)
        {

            try
            {
                if (cmb_department.Text.Trim() == "" || cmb_department.Text.Trim() == null)
                {

                    tbl_DestinationData.DataSource = dt;
                }

                else
                {
                    ((DataTable)tbl_DestinationData.DataSource).DefaultView.RowFilter = " Dept like '%" + cmb_department.Text.Trim() + "%' ";

                }



            }
            catch (Exception )
            {
                throw;
            }

    }
于 2012-12-09T07:59:10.457 回答