多个过滤器不起作用 [英] multiple filters not working

查看:116
本文介绍了多个过滤器不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 私有  void  button1_Click(如果(ch1.Checked& ch2.Checked& ch3.Checked)
            {
                字符串过滤器= 字符串 .Format("  ACCentrala = \'" +(centrala.Text +   \'"));
                过滤器+ = " ;
                过滤器+ = 字符串 .Format("  +(lokal.Text +   \'"));
                过滤器+ = " ;
                过滤器+ = 字符串 .Format("  +(ploca.Text +   \'"));
                 .istorijaBS.Filter =过滤器;
            }
        } 



我需要上面代码的帮助,我有三个文本框text1,text2和text3,三个复选框check1,check2和check3.当CHECK1检查text1为有源滤波器...等等.但是在这段代码中,当我检查所有3个文本框以进行全部3个文本框过滤时,它不起作用吗? "code-keyword">字符串 filter1 = 字符串 .Format(" ACCentrala = \"{0} \"",centrala.Text); 字符串 filter2 = 字符串 .Format(" ACTelefon = \"{0} \"",lokal.Text); 字符串 filter3 = 字符串 .Format(" ACPloca = \"{0} \"",ploca.Text); 字符串 filter = " ; 如果(已选中ch1) { filter = filter1; } 如果(已选中ch2) { 如果(!string.IsNullOrEmpty(filter)) { 过滤器+ = " ; } 过滤器+ = filter2; } 如果(ch3.已选中) { 如果(!string.IsNullOrEmpty(filter)) { 过滤器+ = " ; } 过滤器+ = filter3; } .istorijaBS.Filter =过滤器;


private void button1_Click(object sender, EventArgs e)
        {

            if (ch1.Checked && ch2.Checked && ch3.Checked)
            {
                string filter = string.Format("ACCentrala = \'" + (centrala.Text + "\'"));
                filter += " AND ";
                filter += string.Format("ACTelefon = \'" + (lokal.Text + "\'"));
                filter += " AND ";
                filter += string.Format("ACPloca = \'" + (ploca.Text + "\'"));
                this.istorijaBS.Filter = filter;
            }
        }



I need help with code above, I have three textboxes text1, text2 and text3, 3 checkboxes check1, check2 and check3. when check1 is checked text1 is active filter...and so on. but in this code when I check all 3 of them for filtering with all 3 textboxes it doesnt work?

解决方案

string filter1 = string.Format("ACCentrala = \"{0}\"", centrala.Text);
string filter2 = string.Format("ACTelefon = \"{0}\"", lokal.Text);
string filter3 = string.Format("ACPloca = \"{0}\"", ploca.Text);

string filter = "";

if (ch1.Checked)
{
    filter = filter1;
}
if (ch2.Checked)
{
    if (!string.IsNullOrEmpty(filter))
    {
        filter += " AND ";
    }
    filter += filter2;
}
if (ch3.Checked)
{
    if (!string.IsNullOrEmpty(filter))
    {
        filter += " AND ";
    }
    filter += filter3;
}
this.istorijaBS.Filter = filter;


这篇关于多个过滤器不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆