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

نمایش پیام خالی (هیچ ركوردی یافت نشد) زمانی كه هیچ داده ای در GridView نیست در ASP.Net
1 0
نمایش پیام خالی (هیچ ركوردی یافت نشد) زمانی كه هیچ داده ای در GridView نیست در ASP.Net

در اینجا مقاله توضیح داده خواهد شد كه چگونه میتوان پیام (هیچ ركوردی یافت نشد) را درحالی كه هیچ داده ای در GridView وجود ندارد در ASP.Net با استفاده از C # نمایش دهیم . 

پیام Empty (هیچ ركوردی یافت نشد) با كمك  خصوصیات EmptyDataTemplate از ASP.Net GridView نمایش داده می شود.

بانك اطلاعاتی

من  از جدول Costumers  به صورت زیر استفاده كرده ام.

چند مشتری را به جدول مانند زیر اضافه كنید.

 

توجه! شما می توانید جدول پایگاه داده SQL را با كلیك روی لینك دانلود زیر دانلود كنید.!دانلود فایل SQL

 

كد HTML

كد HTML شامل ASP.Net GridView و یك RadioButtonList ASP.Net است.

RadioButtonList : رویداد OnSelectedIndexChanged در RadioButtonList اضافه شده است و ویژگی AutoPostBack به True تنظیم شده است.

GridView : ویژگی ShowHeaderWhenEmpty از كنترل GridView به True تنظیم شده است، به طوری كه حتی زمانی كه هیچ داده ای وجود ندارد، GridView ردیف Header را نمایش می دهد.

EmptyDataTemplate :  خصوصیت EmptyDataTemplate با یك پیام "هیچ ركوردی پیدا نشد" مشخص شده است كه وقتی GridView خالی باشد نمایش داده خواهد شد.

<asp:RadioButtonList ID="rblCountries" runat="server" AutoPostBack="true" OnSelectedIndexChanged="Country_Selected"
        RepeatDirection="Horizontal">
        <asp:ListItem Text="نمایش همه" Value="" Selected="True"></asp:ListItem>
        <asp:ListItem Text="ایران" Value="iran"></asp:ListItem>
        <asp:ListItem Text="آمریكا" Value="United States"></asp:ListItem>
        <asp:ListItem Text="فرانسه" Value="France"></asp:ListItem>
        <asp:ListItem Text="روسیه" Value="Russia"></asp:ListItem>
        <asp:ListItem Text="چین" Value="Canada"></asp:ListItem>
    </asp:RadioButtonList>
    <hr />
    <asp:GridView ID="GridView1" runat="server" CssClass="Grid" AutoGenerateColumns="false"
        ShowHeaderWhenEmpty="true">
        <Columns>
            <asp:BoundField DataField="CustomerId" HeaderText="شماره مشتری" />
            <asp:BoundField DataField="Name" HeaderText="نام ونام خانوادگی" />
            <asp:BoundField DataField="Country" HeaderText="كشور" />
        </Columns>
        <EmptyDataTemplate>
            <div align="center">هیچ ركوردی یافت نشد.</div>
        </EmptyDataTemplate>
    </asp:GridView>

 

فضاهای نام

شما باید فضای نامهای زیر را وارد كنید.

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

جمع آوری كنترل GridView

در داخل رویداد بارگذاری صفحه، عملكرد BindGrid برا نمایش اطلاعات در GridView قرار داده شده.

در داخل تابع BindGrid ابتدا  مقادیر انتخاب شده RadioButtonList جمع آوری شده و با استفاده از پارامترها به SQL Query منتقل می شود.

پرس و جو SQL به نحوی نوشته شده است كه اگر مقدار انتخاب شده RadioButtonList خالی باشد ، تمام ركوردها نمایش داده می شود و دیگر سوابق فیلتر شده نمایش داده نمی شود.

هنگامی كه Query SQL اجرا می شود، GridView با استفاده از ركوردها از جدول Customers پر میشود.

protected void Page_Load(object sender, EventArgs e)
   {
       if (!this.IsPostBack)
       {
           this.BindGrid();
       }
   }
 
   private void BindGrid()
   {
       string country = rblCountries.SelectedItem.Value;
       string sql = "SELECT * FROM Customers WHERE Country=@Country OR @Country = ''";
       string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
       using (SqlConnection con = new SqlConnection(constr))
       {
           using (SqlCommand cmd = new SqlCommand(sql))
           {
               cmd.Parameters.AddWithValue("@Country", country);
               cmd.Connection = con;
               using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
               {
                   using (DataTable dt = new DataTable())
                   {
                       sda.Fill(dt);
                       GridView1.DataSource = dt;
                       GridView1.DataBind();
                   }
               }
           }
       }
   }

رویداد RadioButtonList SelectedIndexChanged

رویداد زیر هنگامی كه یك مورد  در RadioButtonList انتخاب اتفاق می افتد و باعث می شود كه رویدار تابع BindGrid فراخوانی شود.

protected void Country_Selected(object sender, EventArgs e)
    {
        this.BindGrid();
    }

 


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

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