先说下基本需求,我是给一个企业的设备系统做查询功能,信息分三部分,设备基本信息,设备加工信息和设备生产信息.目前查询功能我已经做出来了,当输入查询条件后(如查询普通立车并且设备型号为C5116A后,)查询范围我选择的是设备基本信息,那么当我想增加查询范围时,(如查询普通立车并且设备型号为C5116A的基本信息和加工信息时),查询得出的数据并没有变化,还是刚才查询设备基本信息后的结果.求高手给指点一下,是不是要清空GridView中的数据呢?我把相关代码写到下面:
    protected void Button1_Click(object sender, EventArgs e)
    {        SqlConnection con = new SqlConnection("server=(local);Database=sb_management;Uid=sa;Pwd=sa");
        string strr1 = DropDownList1.SelectedItem.Value.ToString();
        string str2 = DropDownList2.SelectedItem.Text.ToString();
        string str3 = TextBox1.Text.ToString();
        string sql = "select sb_idx,sb_name,sb_site,sb_suppliers,sb_length,sb_width,sb_height,sb_years,sb_time,sb_mainmachine,sb_othermachine,sb_mainaxle,sb_axlenum,sb_diameter,"
        +"sb_stroke,sb_tools,sb_precision,sb_workshop,sb_groups,sb_classes,sb_operators from sb_information where (sb_idx='" +
            str2 + "' or sb_name='" + str2 + "' or sb_site='" + str2 + "' or sb_groups='" + str2 + "' or sb_workshop='" + str2 + "' or sb_operators='" + str2 + "' or sb_classes='" + 
            str2 + "' ) and (sb_idx='" + str3 + "' or sb_name like '%" + str3 + "%' or sb_site like '%" + str3
            + "%'or sb_suppliers like '%" + str3 + "%' or sb_mainmachine='" + str3 + "' or sb_othermachine='" + str3 + "' or sb_diameter='" + str3
            + "' or sb_stroke='" + str3 + "' or sb_tools='" + str3 + "' or sb_precision='" + str3 + "' or sb_workshop='" + str3
            + "' or sb_groups like '%" + str3 + "%' or sb_classes='" + str3 + "' or sb_operators like '%" + str3 + "%')";
        SqlDataAdapter ada = new SqlDataAdapter(sql, con);
        DataSet ds = new DataSet();
        ada.Fill(ds);
        GridView1.DataSource = ds.Tables[0].DefaultView;
        GridView1.DataBind();
        if (CheckBox1.Checked  && !CheckBox2.Checked && !CheckBox3.Checked)
        {
            GridView1.Columns[9].Visible = false;
            GridView1.Columns[10].Visible = false;
            GridView1.Columns[11].Visible = false;
            GridView1.Columns[12].Visible = false;
            GridView1.Columns[13].Visible = false;
            GridView1.Columns[14].Visible = false;
            GridView1.Columns[15].Visible = false;
            GridView1.Columns[16].Visible = false;
            GridView1.Columns[17].Visible = false;
            GridView1.Columns[18].Visible = false;
            GridView1.Columns[19].Visible = false;
            GridView1.Columns[20].Visible = false;
            //ddlType.DataSource = ds.Tables[0].DefaultView;
            //ddlType.DataValueField = ds.Tables[0].Columns["T_ID"].ToString();
            //ddlType.DataTextField = ds.Tables[0].Columns["T_Name"].ToString();
            //ddlType.DataBind();
        }
        else if (CheckBox2.Checked  && !CheckBox1.Checked && !CheckBox3.Checked)
        {
            GridView1.Columns[2].Visible = false;
            GridView1.Columns[3].Visible = false;
            GridView1.Columns[4].Visible = false;
            GridView1.Columns[5].Visible = false;
            GridView1.Columns[6].Visible = false;
            GridView1.Columns[7].Visible = false;
            GridView1.Columns[8].Visible = false;
            GridView1.Columns[17].Visible = false;
            GridView1.Columns[18].Visible = false;
            GridView1.Columns[19].Visible = false;
            GridView1.Columns[20].Visible = false;
        }
        else if (CheckBox3.Checked  && !CheckBox1.Checked && !CheckBox2.Checked)
        {
            GridView1.Columns[2].Visible = false;
            GridView1.Columns[3].Visible = false;
            GridView1.Columns[4].Visible = false;
            GridView1.Columns[5].Visible = false;
            GridView1.Columns[6].Visible = false;
            GridView1.Columns[7].Visible = false;
            GridView1.Columns[8].Visible = false;
            GridView1.Columns[9].Visible = false;
            GridView1.Columns[10].Visible = false;
            GridView1.Columns[11].Visible = false;
            GridView1.Columns[12].Visible = false;
            GridView1.Columns[13].Visible = false;
            GridView1.Columns[14].Visible = false;
            GridView1.Columns[15].Visible = false;
            GridView1.Columns[16].Visible = false;
        }
        else if (CheckBox1.Checked && CheckBox2.Checked &&! CheckBox3.Checked)
        {
            GridView1.Columns[17].Visible = false;
            GridView1.Columns[18].Visible = false;
            GridView1.Columns[19].Visible = false;
            GridView1.Columns[20].Visible = false;
        }
        else if (CheckBox1.Checked  && CheckBox3.Checked  &&! CheckBox2.Checked)
        {
            GridView1.Columns[9].Visible = false;
            GridView1.Columns[10].Visible = false;
            GridView1.Columns[11].Visible = false;
            GridView1.Columns[12].Visible = false;
            GridView1.Columns[13].Visible = false;
            GridView1.Columns[14].Visible = false;
            GridView1.Columns[15].Visible = false;
            GridView1.Columns[16].Visible = false;
        }
        else if (CheckBox2.Checked && CheckBox3.Checked && !CheckBox1.Checked)
        {
            GridView1.Columns[2].Visible = false;
            GridView1.Columns[3].Visible = false;
            GridView1.Columns[4].Visible = false;
            GridView1.Columns[5].Visible = false;
            GridView1.Columns[6].Visible = false;
            GridView1.Columns[7].Visible = false;
            GridView1.Columns[8].Visible = false;
        }
        else if (CheckBox1.Checked  && CheckBox2.Checked && CheckBox3.Checked )
        {        }
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection("server=(local);Database=sb_management;Uid=sa;Pwd=sa");
        //string str = DropDownList1.SelectedItem.Text.ToString();
        string strr = DropDownList1.SelectedItem.Value.ToString();
        string sql = "select distinct " + strr + " from sb_information where " + strr + " is not null";
        SqlDataAdapter ada = new SqlDataAdapter(sql, con);
        DataSet ds = new DataSet();
        ada.Fill(ds);
        DropDownList2.Items.Clear();
        DropDownList2.DataSource = ds;
        DropDownList2.DataTextField = strr;
        DropDownList2.DataValueField = strr;
        DropDownList2.DataBind(); 
    }