ASP.NET Datalist'te filtreleme olur mu?

paristanbulima (228) 8 yıl önce sordu

Merhaba,

Acaba Datalist kontrolüne dropdownlist'ten seçtiğim özelliklere göre filtre uygulayabilir miyim?

Yani mesela durum dropdownlist'inden "yapıldı"yı seçtiğimde, datalistte durum'u yapıldı olanları listeleyebilir miyim? Nasıl yaparım?

Toplam 1 cevap


paristanbulima (228) 8 yıl önce cevapladı

Page_Load'da verileri listeledikten sonra;

string subject, state, date;

protected void FilterState_SelectedIndexChanged(object sender, EventArgs e)
        {
            using (SqlConnection connection = new SqlConnection(conStr))
            {
                string UserId = Request.QueryString["id"].ToString();
                try
                {
                    connection.Open();
                    SqlCommand cmd = new SqlCommand();
                    if (FilterDate.Text.ToString() != "Tümü" || FilterState.SelectedValue.ToString() != "Tümü" || FilterSubject.Text.ToString() != "Tümü")
                    {
                        if (FilterSubject.Text.ToString() == "Tümü")
                        {
                            subject = "";
                        }
                        else
                        {
                            subject = "and Subject like '" + FilterSubject.Text.ToString() + "'";
                        }
                        if (FilterState.SelectedValue.ToString() == "Tümü")
                        {
                            state = "";
                        }
                        else
                        {
                            SqlCommand cmd1 = new SqlCommand("Select id from States where State='" + FilterState.SelectedValue.ToString() + "'", connection);
                            SqlDataReader dr1 = cmd1.ExecuteReader();
                            dr1.Read();
                            string Stateid = dr1["id"].ToString();
                            dr1.Close();
                            state = "and [State]='" + Stateid.ToString() + "'";
                        }
                        if (FilterDate.Text.ToString() == "Tümü")
                        {
                            date = "";
                        }
                        else
                        {
                            date = "and [Date] like '" + FilterDate.Text.ToString() + "'";
                        }
                        cmd.CommandText = "select id,Subject,Detail,FirstMail,SecondMail,State,Category,Importance  from Reminder_Info where UserId='" + UserId + "'" + subject + state + date;
                    }
                    else
                    {
                        cmd.CommandText = "Select id,Subject,Detail,FirstMail,SecondMail,State,Category,Importance from Reminder_Info";
                    }
                    cmd.Connection = connection;
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    da.Fill(ds);
                    DLRemindings.DataSource = ds;
                    DLRemindings.DataBind();
                }

                catch (Exception ex)
                {
                    lblarea.Text = ex.Message.ToString();
                }
                finally
                {
                    connection.Close();
                }
            }
        }