我目前正在修改现有的应用程序,我将删除旧的UI元素并用标准的WinForms组件替换它们。所以这段代码看起来很实用。Combobox.Text.Equals未测试预期值
我的代码通过条件IF检查,当它不应该。默认情况下,每个组合框的文本为<Any>
,所以它们应跳过已封装的代码。
(当选择的过滤器,它们替换默认文本选择SQL查询的正确部分返回结果)的离奇部分
现在! 我的一些combobox.text文本属性为System.Data.DataRowView
。最初,这发生在所有人身上,但现在第一次检查按预期显示为<Any>
。 (尽管我根本没有改变任何东西)
Screenshot of problem http://i41.tinypic.com/qnphl2.jpg 正如您在调试过程中的代码截图中所看到的。 cbRegGroup.Text
的固定值为System.Data.DataRowView
,但是当我输入属性列表并向下滚动到文本属性时,它显示为<Any>
。
我已经清理并重建了我的项目......并与一所大学协商过,但我们都无法弄清楚为什么文本值显示为.ToString()的ed对象。
我不知道下一步该做什么。有什么建议么?
private void LoadPupilView()
{
try
{
this.Cursor = Cursors.WaitCursor;
dgMain.Rows.Clear();
//now populate list view
String filter = "[surname] LIKE '" + SearchString + "%'";
if (!cbYearGroup.Text.Equals("<Any>"))
{
String YearGroupCode = null;
try
{
YearGroupCode = cbYearGroup.SelectedValue.ToString();
}
catch { }
if (!String.IsNullOrEmpty(YearGroupCode))
filter = filter + " AND [yearGroup] LIKE '" + YearGroupCode + "'";
}
if (!cbRegGroup.Text.Equals("<Any>"))
{
String RegGroupCode = null;
try
{
RegGroupCode = cbRegGroup.SelectedValue.ToString();
}
catch { }
if (!String.IsNullOrEmpty(RegGroupCode))
filter = filter + " AND [registrationGroup] LIKE '" + RegGroupCode + "'";
}
if (!cbHouse.Text.Equals("<Any>"))
{
String HouseGroupCode = null;
try
{
HouseGroupCode = cbHouse.SelectedValue.ToString();
}
catch { }
if (!String.IsNullOrEmpty(HouseGroupCode))
filter = filter + " AND [houseGroup] LIKE '" + HouseGroupCode + "'";
}
DataRow[] dataRows = tblPupils.Select(filter);
foreach (DataRow datarow in dataRows)
{
dgMain.Rows.Add(new object[] {
datarow[0].ToString(),
datarow[1].ToString() + " " + datarow[2].ToString(),
datarow[5].ToString(),
datarow[4].ToString(),
datarow[6].ToString(),
datarow[3].ToString()
});
}
}
catch (Exception err)
{
MessageBox.Show("Error : " + err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
this.Cursor = Cursors.Default;
}
}
我很想知道为什么这似乎不一致......为什么通过第一个条件检查?当其余的不是,虽然他们是相同的。
也不建议有空的catch块。这样做会吞噬异常。 – 2012-03-06 17:29:35
@BryanCrosby谢谢,但我知道让他们为空是我们的前开发者的坏习惯,我有很多他们需要改变! – Amicable 2012-03-06 18:36:21