در این مقاله با هم خواهیم آموخت که چگونه عملیات پر کردن GridView را با استفاده از StoredProcedure و SqlDataSource انجام دهیم. به همراه توضیحات کامل و تصاویر آن ، سورس مقاله نیز در ادامه ی مطلب برایتان قرار داده شده است … امیدوارم که مفید واقع شود . با من همراه باشید …
پایگاه داده
ما در این آموزش از پایگاه داده Microsoft’s Northwind استفاده می کنیم.
StoredProcedure
StoredProcedure زیر یک پارامتر @ContactName قبول می کند و از مقدار آن برای جستجوی رکوردها در جداول مشتری Northwind با استفاده از LIKE operator استفاده می کند.
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[Customers_SearchCustomers] @ContactName NVARCHAR(30) AS BEGIN SET NOCOUNT ON; SELECT CustomerId ,ContactName ,City ,Country FROM Customers WHERE ContactName LIKE @ContactName + '%' END
پر کردن GridView
HTML Markup زیر شامل یک GridView ، TextBox و یک Button می باشد. GridView با رکورد های جدول مشتری های پایگاه داده Northwind با استفاده از SqlDataSource پر می شود. SqlDataSource با ویژگی های زیر تنظیم شده است.
SelectCommand – اسم StoredProcedure برای اجرا می باشد.
SelectCommandType – مقدار آن روی StoredProcedure تنظیم شده است، مقدار پیش فرض آن Text می باشد. SqlDataSource هم چنین یک SelectParameter دارد. از آن برای مقدار ASP.Net control i.e استفاده می شود.
ControlParameter با ویژگی های زیر تنظیم شده است.
Name: نام پارامتری که به StoredProcedure در آن به تصویب می رسد. اسم این پارامتر باید دقیقا مثل اسم پارامتر StoredProcedure باشد.
ControlID – ID کنترل می باشد که مقدار آن به عنوان پارامتر به تصویب می رسد.
DefaultValue – StoredProcedure که در این مقاله استفاده کردیم وقتی که مقدار پارامتر خالی باشد همه رکوردها را نمایش می دهد و پیش فرض آن نیز خالی می باشد.
ConvertEmptyStringToNull – اگر روی حالت True باشد به عنوان NULL و به صورت خالی تصویب می شود.
Search Customer: <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> <asp:Button ID="btnSearch" runat="server" Text="Search" /> <hr /> <asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White" runat="server" AutoGenerateColumns="false" DataSourceID="GridDataSource" AllowPaging="true"> <Columns> <asp:BoundField DataField="ContactName" HeaderText="Name" ItemStyle-Width="150" /> <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="150" /> <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="GridDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConStr %>" SelectCommand="Customers_SearchCustomers" SelectCommandType="StoredProcedure"> <SelectParameters> <asp:ControlParameter Name="ContactName" ControlID="txtSearch" PropertyName="Text" DefaultValue = "" ConvertEmptyStringToNull = "false" /> </SelectParameters> </asp:SqlDataSource>
تصاویر نمونه
GridView که همه رکوردها را نمایش می دهد.
فیلتر شدن رکورد های GridView با استفاده از StoredProcedure
موفق باشید !
هیچ دیدگاهی نوشته نشده است.