问题展示
大家在做组合查询的时候可能会遇到这样的问题,那就是多条件的判断,根据前面输入的查询内容不同,需要显示不同的文本框。但是判空就是一个不好处理的事情(初学者),因为不管我们查什么内容,总有用不到的文本框需要隐藏。如果我们将他们不做判断就进行判空,运行的时候你就总会收到输入内容不能为空的信息。
图片展示
为了展示效果,特意将查询内容文本框平铺开。
代码展示
if (cmbRelation1.Text.Trim() == "" && cmbRelation2.Text.Trim() == "")
{
if (cmbName1 .Text =="用户ID"||cmbName1.Text =="级别"||cmbName1 .Text =="电脑名")
{
if (cmbName1.Text.Trim() == "" || cmbOperate1.Text.Trim() == "" || txtQuery1.Text.Trim() == "" /*|| dateTimePicker1.Text.Trim() == ""*/)
{
MessageBox.Show("查询条件为空,请将信息填写完整!");
return;
}
}
else
{
if (cmbName1.Text.Trim() == "" || cmbOperate1.Text.Trim() == "" || dateTimePicker1.Text.Trim() == "")
{
MessageBox.Show("查询条件为空,请将信息填写完整!");
return;
}
else
{
//激活组合控件1
cmbRelation1.Enabled = true;
}
}
if (cmbName1 .Text .Trim ()!=""&&cmbOperate1 .Text .Trim ()!="")
{
txtQuery1.Text = Zero(cmbName1.Text, txtQuery1.Text, dateTimePicker1.Text);
}
}
//组合控件1不为空时
else if (cmbRelation1.Text.Trim() != "" && cmbRelation2.Text.Trim() == "")
{
if ( cmbName2.Text == "用户ID" || cmbName2.Text == "级别" || cmbName2.Text == "电脑名")
{
if (cmbName2.Text.Trim() == "" || cmbOperate2.Text.Trim() == "" || txtQuery2.Text.Trim() == "" /*|| dateTimePicker1.Text.Trim() == ""*/)
{
MessageBox.Show("查询条件为空,请将信息填写完整!");
return;
}
}
else
{
if (cmbName2.Text.Trim() == "" || cmbOperate2.Text.Trim() == "" || dateTimePicker2.Text.Trim() == "")
{
MessageBox.Show("查询条件为空,请将信息填写完整!");
return;
}
else
{
//激活组合控件1
cmbRelation2.Enabled = true;
}
}
if (cmbName1.Text.Trim() != "" && cmbOperate1.Text.Trim() != ""&& cmbName2.Text.Trim() != "" && cmbOperate2.Text.Trim() != "")
{
txtQuery2.Text = Zero(cmbName2.Text, txtQuery2.Text, dateTimePicker2.Text);
}
}
//当组合控件1和2都不为空的时候
else if (cmbRelation1.Text.Trim() != "" && cmbRelation2.Text.Trim() != "")
{
if (true)
{
if (cmbName3.Text == "用户ID" || cmbName3.Text == "级别" || cmbName3.Text == "电脑名")
{
if (cmbName3.Text.Trim() == "" || cmbOperate3.Text.Trim() == "" || txtQuery3.Text.Trim() == "" /*|| dateTimePicker1.Text.Trim() == ""*/)
{
MessageBox.Show("查询条件为空,请将信息填写完整!");
return;
}
}
else
{
if (cmbName3.Text.Trim() == "" || cmbOperate3.Text.Trim() == "" || dateTimePicker3.Text.Trim() == "")
{
MessageBox.Show("查询条件为空,请将信息填写完整!");
return;
}
else
{
//激活组合控件1
cmbRelation2.Enabled = true;
}
}
}
}