积极答复者
这段代码在什么地方出了问题?

问题
-
我写了一段程序,想要实现如下功能:
程序根据已经给出的 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("年度工资统计表中没有你要查找的员工信息。”);
这是什么原因呢?请高人指教,先谢过了。
答案
-
可能是你的EmployeeName带有空格什么的,结果比较不同了。建议:
DataAccessLayer.YearSalarysTable.Rows[i][0].ToString().Trim().Equals(EmploeeName.Trim())
或者请直接列出调试中的EmployeeName和在DataGridView中的EmployeeName,仔细观察比较Length什么的,肯定有不同的地方。
谢谢
如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者
If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
下载MSDN桌面工具(Vista,Win7)
下载Technet桌面小工具(Vista,Win7)
慈善点击,点击此处- 已标记为答案 changer168 2011年9月22日 5:40
全部回复
-
可能是你的EmployeeName带有空格什么的,结果比较不同了。建议:
DataAccessLayer.YearSalarysTable.Rows[i][0].ToString().Trim().Equals(EmploeeName.Trim())
或者请直接列出调试中的EmployeeName和在DataGridView中的EmployeeName,仔细观察比较Length什么的,肯定有不同的地方。
谢谢
如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者
If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
下载MSDN桌面工具(Vista,Win7)
下载Technet桌面小工具(Vista,Win7)
慈善点击,点击此处- 已标记为答案 changer168 2011年9月22日 5:40