توضیحات و دانلود

فیلتر کردن آیتم ها در DataList بر اساس مقدار انتخاب شده در DropDownList با ASP.Net
0 0
فیلتر کردن آیتم ها در DataList بر اساس مقدار انتخاب شده در DropDownList با ASP.Net

با سلام در این مقاله توضیح خواهیم داد که چگونه می توانیم موارد را در کنترل DataList بر اساس ارزش انتخاب شده در کنترل DropDownList فیلتر کنیم .
 
پایگاه داده و رشته اتصال
برای این کار باید پایگاه داده Northwind را با استفاده از لینک زیر دانلود کنید
دانلود Northwind پایگاه داده
در زیر رشته اتصال از فایل Web.Config است

<connectionStrings>
<add name="conString" connectionString="Data Source=.\SQLExpress;
database=Northwind;Integrated Security=true"/>
</connectionStrings>

کد HTML
در زیر کد HTML است که در آن DropDownList حاوی برخی از کشورها از جدول مشتریان پایگاه داده Northwind و کنترل DataList که اطلاعات مشتری را نشان می دهد.

Country: <asp:DropDownList ID="ddlCountry" AutoPostBack="true" runat="server">
    <asp:ListItem Text="All" Value="" />
    <asp:ListItem Text="Argentina" Value="Argentina" />
    <asp:ListItem Text="Belgium" Value="Belgium" />
    <asp:ListItem Text="Brazil" Value="Brazil" />
    <asp:ListItem Text="Canada" Value="Canada" />
</asp:DropDownList><br />
<asp:DataList ID="dlCustomers" runat="server" RepeatLayout="Table" RepeatColumns="3"
    CellPadding="2" CellSpacing="2">
    <ItemTemplate>
        <table cellpadding="2" cellspacing="0" border="1" style="width: 200px; height: 100px;
            border: dashed 2px #04AFEF; background-color: #B0E2F5">
            <tr>
                <td>
                    <b><u><span class="name">
                        <%# Eval("ContactName") %></span></u></b>
                </td>
            </tr>
            <tr>
                <td>
                    <b>City: </b><span class="city">
                        <%# Eval("City") %></span><br />
                    <b>Postal Code: </b><span class="postal">
                        <%# Eval("PostalCode") %></span><br />
                    <b>Country: </b><span class="country">
                        <%# Eval("Country")%></span><br />
                    <b>Phone: </b><span class="phone">
                        <%# Eval("Phone")%></span><br />
                    <b>Fax: </b><span class="fax">
                        <%# Eval("Fax")%></span><br />
                </td>
            </tr>
        </table>
    </ItemTemplate>
</asp:DataList>

فضاهای نام
شما باید فضای نامهای زیر را وارد کنید
C #

using System.Data;
using System.Configuration;
using System.Data.SqlClient;

VB.Net

Imports System.Data
Imports System.Configuration
Imports System.Data.SqlClient

اتصال و فیلتر کردن اشیاء کنترل DataList
در کد HTML  مقدار پیش فرض در DropDownList رشته خالی است. و در query یک شرط را اضافه کرده ایم که اگر مقدار انتخاب شده از DropDownList خالی باشد باید تمام رکوردها را بازگرداند و اگر مقدار انتخابی DropDownList یک کشور معتبر باشد پس باید سوابق را بر اساس کشور فیلتر کند.
C #

protected void Page_Load(object sender, EventArgs e)
{
    string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    string query = "SELECT top 10 * FROM Customers where Country=@Country or @Country=''";
    SqlCommand cmd = new SqlCommand(query);
    cmd.Parameters.AddWithValue("@Country", ddlCountry.SelectedItem.Value);
    using (SqlConnection con = new SqlConnection(conString))
    {
        using (SqlDataAdapter sda = new SqlDataAdapter())
        {
            cmd.Connection = con;
            sda.SelectCommand = cmd;
            using (DataSet ds = new DataSet())
            {
                sda.Fill(ds);
                dlCustomers.DataSource = ds;
                dlCustomers.DataBind();
            }
        }
    }
}

VB.Net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    Dim conString As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
    Dim query As String = "SELECT top 10 * FROM Customers where Country=@Country or @Country=''"
    Dim cmd As SqlCommand = New SqlCommand(query)
    cmd.Parameters.AddWithValue("@Country", ddlCountry.SelectedItem.Value)
    Dim con As SqlConnection = New SqlConnection(conString)
    Dim sda As SqlDataAdapter = New SqlDataAdapter
    cmd.Connection = con
    sda.SelectCommand = cmd
    Dim ds As DataSet = New DataSet
    sda.Fill(ds)
    dlCustomers.DataSource = ds
    dlCustomers.DataBind()
End Sub

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :