Link to home
Start Free TrialLog in
Avatar of Seven price
Seven priceFlag for United States of America

asked on

Gridview select from dropdownlist

Yes I am trying to select the date to change gridview.

how can i pass the parameter @Date  to if I selectvalue from dropdownlist.
Dropdownlist has the date as the selected item but i am selecting the value, I just need to pass the value to the @Date in the gridview.


''###############   spGetEventFrontpage  '''
(@Date As datetime)
As
SELECT A.Pk_Events,
            A.Date,
            A.Description,
            A.EventTypes,
            B.Startday,
B.Month,
B.Enddate
FROM [dbo].[Events] A
Join [dbo].[monthC] B On A.date = date
 WHERE @Date between  B.Startday and B.Enddate  and
 A.date between B.Startday and B.Enddate

''################# end stored procedure ###########
<asp:DropDownList ID="DropDownList1" AutoPostBack="True" runat="server" 
         DataSourceID="SqlDataSource2" DataTextField="Month" DataValueField="Startday">
    </asp:DropDownList>
     <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
         ConnectionString="<%$ ConnectionStrings:tConnectionString %>" 
         SelectCommand="select * from Monthc">
         <SelectParameters>
<asp:ControlParameter ControlID="Gridview1"
DefaultValue="@Date" Name="Mid"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
     </asp:SqlDataSource>
<br />
    <asp:Label ID="Label1" runat="server" CssClass="header1" ></asp:Label></div>
 <br />   <asp:GridView ID="GridView1" runat="server" AllowPaging="True"   Width="620px" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1"
            AllowSorting="True" AutoGenerateColumns="False" CellPadding="4"  Font-Size="Small"
            DataKeyNames="Pk_Events" DataSourceID="SqlDataSource1" ForeColor="#333333" 
            GridLines="None">
            <RowStyle BackColor="#D0C0DD" />
            
            <Columns>
                <asp:BoundField DataField="Pk_Events" HeaderText="Pk_Events" 
                    InsertVisible="False" ReadOnly="True" ShowHeader="False" 
                    SortExpression="Pk_Events" Visible="False" />
                <asp:BoundField DataField="Date" HeaderText="DATE" DataFormatString="{0:dd MMMM yyyy}" SortExpression="date"  />
                <asp:BoundField DataField="enddate"  Visible="false" DataFormatString="{0:dd MMMM yyyy}"    SortExpression="enddate" />
                <asp:BoundField DataField="Description" HeaderText="Details" 
                    SortExpression="Description" />
                <asp:TemplateField HeaderStyle-CssClass="shoesB"  HeaderImageUrl="~/TrendEvents/images/TNM_pick.gif">                 
                    <ItemTemplate>
                        <asp:Image ID="Image1" CssClass="shoesB1" runat="server" ImageUrl="~/TrendEvents/images/TNM_pick2.gif" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="NEIGHBORHOOD" HeaderText="NEIGHBORHOOD" 
                    SortExpression="NEIGHBORHOOD" />
                <asp:BoundField DataField="EventTypes" Visible="false" HeaderText="EventTypes" 
                    SortExpression="EventTypes" />
                <asp:BoundField DataField="Details" Visible="false" HeaderText="DETAILS" 
                    SortExpression="Details" />
            </Columns>
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#000000" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#7C6F57" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="spGetEventFrontpage" SelectCommandType="StoredProcedure">
        </asp:SqlDataSource>

Open in new window

Avatar of jinal
jinal
Flag of India image

Hello ,

As i understand from your source that you have to dispaly data in GridView and Date value pass from DropDownList.

In that case you have to configure SqlDataSource1 for SelectParameter.
It should be something like this.

<asp:DropDownList ID="DropDownList1" AutoPostBack="True" runat="server" DataSourceID="SqlDataSource2"
        DataTextField="Month" DataValueField="Startday">
    </asp:DropDownList>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:tConnectionString %>"
        SelectCommand="select * from Monthc">        
    </asp:SqlDataSource>
    <br />
    <asp:Label ID="Label1" runat="server" CssClass="header1"></asp:Label></div>
    <br />
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" Width="620px" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1"
        AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" Font-Size="Small"
        DataKeyNames="Pk_Events" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None">
        <RowStyle BackColor="#D0C0DD" />
        <Columns>
            <asp:BoundField DataField="Pk_Events" HeaderText="Pk_Events" InsertVisible="False"
                ReadOnly="True" ShowHeader="False" SortExpression="Pk_Events" Visible="False" />
            <asp:BoundField DataField="Date" HeaderText="DATE" DataFormatString="{0:dd MMMM yyyy}"
                SortExpression="date" />
            <asp:BoundField DataField="enddate" Visible="false" DataFormatString="{0:dd MMMM yyyy}"
                SortExpression="enddate" />
            <asp:BoundField DataField="Description" HeaderText="Details" SortExpression="Description" />
            <asp:TemplateField HeaderStyle-CssClass="shoesB" HeaderImageUrl="~/TrendEvents/images/TNM_pick.gif">
                <ItemTemplate>
                    <asp:Image ID="Image1" CssClass="shoesB1" runat="server" ImageUrl="~/TrendEvents/images/TNM_pick2.gif" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="NEIGHBORHOOD" HeaderText="NEIGHBORHOOD" SortExpression="NEIGHBORHOOD" />
            <asp:BoundField DataField="EventTypes" Visible="false" HeaderText="EventTypes" SortExpression="EventTypes" />
            <asp:BoundField DataField="Details" Visible="false" HeaderText="DETAILS" SortExpression="Details" />
        </Columns>
        <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#000000" Font-Bold="True" ForeColor="White" />
        <EditRowStyle BackColor="#7C6F57" />
        <AlternatingRowStyle BackColor="White" />
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        SelectCommand="spGetEventFrontpage" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:ControlParameter ControlID="DropDownList1" PropertyName="SelectedValue" />
        </SelectParameters>
    </asp:SqlDataSource>

Open in new window

Avatar of Seven price

ASKER

getting this error for parameter
 
Procedure spGetEventFrontpage has no parameters and arguments were supplied

 <asp:DropDownList ID="DropDownList1" AutoPostBack="True" runat="server" DataSourceID="SqlDataSource2"
        DataTextField="Month" DataValueField="Startday">
    </asp:DropDownList>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:tConnectionString %>"
        SelectCommand="select * from Monthc">        
    </asp:SqlDataSource>
    <br />
    <asp:Label ID="Label1" runat="server" CssClass="header1"></asp:Label></div>
    <br />
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" Width="620px" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1"
        AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" Font-Size="Small"
        DataKeyNames="Pk_Events" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None">
        <RowStyle BackColor="#D0C0DD" />
        <Columns>
            <asp:BoundField DataField="Pk_Events" HeaderText="Pk_Events" InsertVisible="False"
                ReadOnly="True" ShowHeader="False" SortExpression="Pk_Events" Visible="False" />
            <asp:BoundField DataField="Date" HeaderText="DATE" DataFormatString="{0:dd MMMM yyyy}"
                SortExpression="date" />
            <asp:BoundField DataField="enddate" Visible="false" DataFormatString="{0:dd MMMM yyyy}"
                SortExpression="enddate" />
            <asp:BoundField DataField="Description" HeaderText="Details" SortExpression="Description" />
            <asp:TemplateField HeaderStyle-CssClass="shoesB" HeaderImageUrl="~/TrendEvents/images/TNM_pick.gif">
                <ItemTemplate>
                    <asp:Image ID="Image1" CssClass="shoesB1" runat="server" ImageUrl="~/TrendEvents/images/TNM_pick2.gif" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="NEIGHBORHOOD" HeaderText="NEIGHBORHOOD" SortExpression="NEIGHBORHOOD" />
            <asp:BoundField DataField="EventTypes" Visible="false" HeaderText="EventTypes" SortExpression="EventTypes" />
            <asp:BoundField DataField="Details" Visible="false" HeaderText="DETAILS" SortExpression="Details" />
        </Columns>
        <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#000000" Font-Bold="True" ForeColor="White" />
        <EditRowStyle BackColor="#7C6F57" />
        <AlternatingRowStyle BackColor="White" />
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        SelectCommand="spGetEventFrontpage" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:ControlParameter ControlID="DropDownList1" DbType="DateTime" PropertyName="SelectedValue" Name="@Date" DefaultValue="07/01/2009"  />
        </SelectParameters>
    </asp:SqlDataSource>

Open in new window

Procedure or function 'sptkGetdate' expects parameter '@Date', which was not supplied.
 
 

Alter PROCEDURE [dbo].[sptkGetdate]
(@Date As datetime)
As
SELECT A.Pk_Events,
A.Date,
A.Description,
A.EventTypes,
B.Startday,
B.Month,
B.Enddate
FROM [dbo].[Events] A
Join [dbo].[monthC] B On A.date = date
WHERE @Date between B.Startday and B.Enddate and
A.date between B.Startday and B.Enddate
Order by A.date
What is your stored procedure name ? Is it spGetEventFrontpage or sptkGetdate .

In attached code i used spGetEventFrontpage so ...

<asp:DropDownList ID="DropDownList1" AutoPostBack="True" runat="server" DataSourceID="SqlDataSource2"
        DataTextField="Month" DataValueField="Startday">
    </asp:DropDownList>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:tConnectionString %>"
        SelectCommand="select * from Monthc">        
    </asp:SqlDataSource>
    <br />
    <asp:Label ID="Label1" runat="server" CssClass="header1"></asp:Label></div>
    <br />
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" Width="620px" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged1"
        AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" Font-Size="Small"
        DataKeyNames="Pk_Events" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None">
        <RowStyle BackColor="#D0C0DD" />
        <Columns>
            <asp:BoundField DataField="Pk_Events" HeaderText="Pk_Events" InsertVisible="False"
                ReadOnly="True" ShowHeader="False" SortExpression="Pk_Events" Visible="False" />
            <asp:BoundField DataField="Date" HeaderText="DATE" DataFormatString="{0:dd MMMM yyyy}"
                SortExpression="date" />
            <asp:BoundField DataField="enddate" Visible="false" DataFormatString="{0:dd MMMM yyyy}"
                SortExpression="enddate" />
            <asp:BoundField DataField="Description" HeaderText="Details" SortExpression="Description" />
            <asp:TemplateField HeaderStyle-CssClass="shoesB" HeaderImageUrl="~/TrendEvents/images/TNM_pick.gif">
                <ItemTemplate>
                    <asp:Image ID="Image1" CssClass="shoesB1" runat="server" ImageUrl="~/TrendEvents/images/TNM_pick2.gif" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="NEIGHBORHOOD" HeaderText="NEIGHBORHOOD" SortExpression="NEIGHBORHOOD" />
            <asp:BoundField DataField="EventTypes" Visible="false" HeaderText="EventTypes" SortExpression="EventTypes" />
            <asp:BoundField DataField="Details" Visible="false" HeaderText="DETAILS" SortExpression="Details" />
        </Columns>
        <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#000000" Font-Bold="True" ForeColor="White" />
        <EditRowStyle BackColor="#7C6F57" />
        <AlternatingRowStyle BackColor="White" />
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
        SelectCommand="spGetEventFrontpage" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:ControlParameter ControlID="DropDownList1" DbType="DateTime" PropertyName="SelectedValue" Name="Date" DefaultValue="07/01/2009"  />
        </SelectParameters>
    </asp:SqlDataSource>

Open in new window

Yes but it is sptkGetdate
Maybe when its first loading the Grid its looking for a date. and it cannot find it.
Can you please put date value from database.

b'coz in database Dateonly not going to compare . Instead of that long  date compare and that cause the problem.
Please put record over here.
you mean like this 7/11/2009
 
instead of this.
7/11/2009 12:00:00 AM
9 2009-07-10 00:00:00.000 this is only a test of what asdsd test 2009-07-01 00:00:00.000 July 2009-07-31 23:59:00.000 wq
11 2009-07-10 00:00:00.000 this is only a test of what sdfs test 2009-07-01 00:00:00.000 July 2009-07-31 23:59:00.000 wq
For example

July 2009-07-31 23:59:00.000 if you compare this witj 2009-07-31 09:34:00.000 it gives you wrong answer.

It is not equal stored procedure.
right but the value in the dropdownlist is
<option value="1/1/2009 12:00:00 AM">January</option>
 
and if I put this in the stored procedure
 
Alter PROCEDURE [dbo].[sptkGetdate]
(@Date As datetime)
As
SELECT A.Pk_Events,
A.Date,
A.Description,
A.EventTypes,
B.Startday,
B.Month,
B.Enddate
FROM [dbo].[Events] A
Join [dbo].[monthC] B On A.date = date
WHERE '1/1/2009 12:00:00 AM' between B.Startday and B.Enddate and
A.date between B.Startday and B.Enddate
Order by A.date  
 
it works
ASKER CERTIFIED SOLUTION
Avatar of jinal
jinal
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Procedure sptkGetdate has no parameters and arguments were supplied. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

it works thanks