ASP.NET Datalist'te filtreleme olur mu?

0

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?

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

    Toplam 1 Cevap


    0

    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();
                    }
                }
            }

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

      üyelik gerektirir

      Cevap yazabilmek için üye girişi yapmalısınız.

      Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
      uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol