Фильтровать информацию из различных выпадающих списков - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь фильтровать информацию, используя множество выпадающих списков одновременно. Проблема заключается в том, что при изменении выбранного значения раскрывающегося списка таблица не создается, пока я не выберу значение в других раскрывающихся списках. Я уже реализовал OnSelectedIndexChanged в раскрывающихся атрибутах, но он все еще ожидает, что я дам другие раскрывающиеся значения, которые, кстати, также являются параметрами хранимых процедур. Любая идея о том, как изменить мою логику c, полезна. спасибо (справочные изображения) referenceimage c# код

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Test16
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (!IsPostBack)

            {

            }
        }


        public void Process(object sender, EventArgs e)
        {
        using (SqlConnection conn = new SqlConnection("Data Source=DESKTOP-SM35TU3;Initial Catalog=TEST;Integrated Security=True"))
            {

                using (SqlCommand cmd = new SqlCommand("Sp_Filtertest", conn))
                {

                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.AddWithValue("@country", SqlDbType.VarChar).Value = country.Text;
                    cmd.Parameters.AddWithValue("@ethnicity", SqlDbType.VarChar).Value = ethnicity.Text;
                    cmd.Parameters.AddWithValue("@gender", SqlDbType.VarChar).Value = gender.Text;
                    cmd.Parameters.AddWithValue("@companyindustry", SqlDbType.VarChar).Value = companyindustry.Text;
                    conn.Open();
                    //cmd.ExecuteNonQuery();

                    SqlDataAdapter adp = new SqlDataAdapter(cmd);
                    DataSet ds = new DataSet();

                    DataTable dt = new DataTable();
                    adp.Fill(ds);

                    dt = ds.Tables[0];

                    StringBuilder sb = new StringBuilder();
                    //Table start.
                    sb.Append("<table cellpadding='5' cellspacing='0' style='border: 1px solid #ccc;font-size: 9pt;font-family:Arial'>");

                    //Adding HeaderRow.
                    sb.Append("<tr>");
                    foreach (DataColumn column in dt.Columns)
                    {
                        sb.Append("<th style='background-color: #B8DBFD;border: 1px solid #ccc'>" + column.ColumnName + "</th>");
                    }
                    sb.Append("</tr>");


                    //Adding DataRow.
                    foreach (DataRow row in dt.Rows)
                    {
                        sb.Append("<tr>");
                        foreach (DataColumn column in dt.Columns)
                        {
                            sb.Append("<td style='width:100px;border: 1px solid #ccc'>" + row[column.ColumnName].ToString() + "</td>");
                        }
                        sb.Append("</tr>");
                    }

                    //Table end.
                    sb.Append("</table>");
                    Tableresults.Text = sb.ToString();
                    //conn.Close();
                    //F

                }
            }
        }
    }
}

моя хранимая процедура

ALTER procedure [dbo].[Sp_Filtertest]
@gender nvarchar(50)=NULL,
@country nvarchar(50)=NULL,
@ethnicity nvarchar(50)=NULL,
@companyindustry nvarchar(50)=NULL
as
Select Id, UserName, Email, Gender,AgeofUser, JobTitle, 
CompanyIndustry, HouseHoldIncome, Ethnicity, Country,StateName from AspNetUsers 
where (Gender = IIF(ISNULL(@gender, '') = '', Gender, @Gender)) 
and (Country = IIF(ISNULL(@country, '') = '', Country, @country)) 
and (Ethnicity = IIF(ISNULL(@ethnicity, '')='',Ethnicity,@ethnicity)) 
and (CompanyIndustry = IIF(ISNULL(@companyindustry,'')='',CompanyIndustry,@companyindustry))
group by Id, UserName, Email, Gender,AgeofUser, JobTitle, CompanyIndustry, HouseHoldIncome, Ethnicity, Country,StateName 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...