none
这段代码在什么地方出了问题? RRS feed

  • 问题

  • 我写了一段程序,想要实现如下功能:

    程序根据已经给出的 EmploeeName在YearSalarysTable中进行查找,如果

    YearSalarysTable.Rows[i][0]的值与EmploeeName相等的话,则刷新

    DataGridView的当前行,让光标指向查找到的员工行。

    (说明:

             ①在此之前,DataGridView已经和YearSalarysTable进行了绑定处理;

             ②在YearSalarysTable中有的行其YearSalarysTable.Rows[i][0]的值是”“;)

    具体代码如下:

     public static void FindA_EmploeeInYearSalarysTable()

                //在YearSalarysTable中查找某个员工的年度收入统计表,并刷新DataGridView

            {

                if (EmploeeName!=null )

                {

     

                    int CurrentRowIndex = dataGridView2.CurrentRow.Index;

                    int NextRowIndex;

                    int i=0;

                    Boolean is_exist=false ;

                    for (i = 0; i < DataAccessLayer.YearSalarysTable.Rows.Count; ++i)

                       if (DataAccessLayer.YearSalarysTable.Rows[i][0].ToString().Equals(EmploeeName))

                        {

                            NextRowIndex = i;

                            is_exist = true;

                           dataGridView2.Rows[CurrentRowIndex].Selected = false;

                           dataGridView2.Rows[NextRowIndex].Selected = true;

                            dataGridView2.CurrentCell = dataGridView2.Rows[NextRowIndex].Cells[0];

                            dataGridView2.Refresh();

                            EmploeeName = null;

                            break;

                        }

     

                    if (is_exist)

                    {

                        is_exist = false;

                        return;

                    }

                    else

                    {

                        MessageBox.Show("年度工资统计表中没有你要查找的员工信息。");

                        return;

                    }

                }

                else

                {

                    MessageBox.Show("请先输入你要编辑的员工姓名。");

                    return;

                }

            }

    但是程序执行的结果却让人感到奇怪:不论输入任何员工姓名,程序运行的结果

    都是 MessageBox.Show("年度工资统计表中没有你要查找的员工信息。”);

    这是什么原因呢?请高人指教,先谢过了。

    2011年9月22日 4:53

答案

全部回复