Mega Code Archive

 
Categories / ASP.Net Tutorial / ADO Net Database
 

SqlDataSource with dynamic parameter

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CustomParameters.aspx.cs"  Inherits="CustomParameters" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">     <title>Custom Parameters</title> </head> <body>     <form id="form1" runat="server">     <div>        <asp:SqlDataSource ID="sourceCustomers"                            runat="server"                           ProviderName="System.Data.SqlClient"                           ConnectionString="<%$ ConnectionStrings:Northwind %>"                           SelectCommand="SELECT CustomerID, ContactName FROM Customers"/>         <asp:DropDownList ID="lstCustomers"                            runat="server"                            DataSourceID="sourceCustomers"                            DataTextField="ContactName"                            DataValueField="CustomerID"                            AutoPostBack="True">         </asp:DropDownList>         <asp:SqlDataSource ID="sourceOrders"                             runat="server"                            ProviderName="System.Data.SqlClient"                            ConnectionString="<%$ ConnectionStrings:Northwind %>"                            SelectCommand="SELECT OrderID,OrderDate,ShippedDate FROM Orders WHERE CustomerID=@CustomerID AND OrderDate>=@EarliestOrderDate"                            OnSelecting="sourceOrders_Selecting">            <SelectParameters>               <asp:ControlParameter Name="CustomerID" ControlID="lstCustomers" PropertyName="SelectedValue" />               <asp:Parameter Name="EarliestOrderDate" DefaultValue="1900/01/01" />            </SelectParameters>       </asp:SqlDataSource>       <asp:GridView ID="gridOrders"                      runat="server"                      DataSourceID="sourceOrders"                      AutoGenerateColumns="False"                      DataKeyNames="OrderID" >             <Columns>                 <asp:boundfield DataField="OrderID" HeaderText="OrderID"                                                      InsertVisible="False"                                                      ReadOnly="True"                                                      SortExpression="OrderID"></asp:boundfield>                 <asp:boundfield DataField="OrderDate" HeaderText="OrderDate" DataFormatString="{0:d}"                     SortExpression="OrderDate"></asp:boundfield>                 <asp:boundfield DataField="ShippedDate" DataFormatString="{0:d}"                       HeaderText="ShippedDate"                      SortExpression="ShippedDate"></asp:boundfield>             </Columns>         </asp:GridView>     </div>     </form> </body> </html> File: CustomParameters.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class CustomParameters : System.Web.UI.Page {     protected void sourceOrders_Selecting(object sender, SqlDataSourceSelectingEventArgs e)     {                 e.Command.Parameters["@EarliestOrderDate"].Value = DateTime.Today.AddYears(-10);     } } File: Web.config <?xml version="1.0"?> <configuration>   <connectionStrings>     <add name="Northwind" connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI"/>   </connectionStrings> </configuration>