Hello,

I have a detailsview control on my page with a template field for the date. I wanted a pop up calendar control to populate the date so I added that:

<asp:DetailsView ID="addEventDetailView" runat="server" Height="50px" Width="503px"
            DataSourceID="eventDataSource" AutoGenerateRows="False" DataKeyNames="eventAuid"
            DefaultMode="Insert" CellPadding="4" ForeColor="#333333" GridLines="None" OnItemInserting="addEventDetailView_ItemInserting"
            OnPageIndexChanging="addEventDetailView_PageIndexChanging" OnItemInserted="addEventDetailView_ItemInserted">
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
            <RowStyle BackColor="#EFF3FB" />
            <FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <Fields>
                <asp:BoundField DataField="eventAuid" HeaderText="eventAuid" InsertVisible="False"
                    ReadOnly="True" SortExpression="attendeeAuid" />
                <asp:BoundField DataField="eventName" HeaderText="Event Name" SortExpression="Event Name" />
                <asp:BoundField DataField="description" HeaderText="Description Of Event" SortExpression="Description Of Event" />
                <asp:BoundField DataField="host" HeaderText="host" SortExpression="host" Visible="False"
                    InsertVisible="False" />
                <asp:TemplateField HeaderText="Registration Close Date" SortExpression="Registration Close Date">
                    <EditItemTemplate>
                        <asp:TextBox ID="eventRegistrationClosedTxt" runat="server" Text='<%# Bind("eventRegistrationClosed") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <InsertItemTemplate>
                        <asp:TextBox ID="eventRegistrationClosedTxt" runat="server" AutoPostback="false" Text='<%# Bind("eventRegistrationClosed") %>'></asp:TextBox>
                        <asp:ImageButton ID="calendarImageBtn" runat="server" ImageUrl="~/Images/Calendar_schedule.png" onclick="calendarImageBtn_Click"/>
                        <asp:Calendar ID="eventRegistrationClosedCalendar" runat="server" Visible="false" SelectionChanged="eventRegistrationClosedCalendar_SelectionChanged">
                        </asp:Calendar>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="eventRegistrationClosedLbl" runat="server" Text='<%# Bind("eventRegistrationClosed") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField ShowHeader="False">
                    <InsertItemTemplate>
                        <asp:Button ID="saveBtn" runat="server" CausesValidation="True" CommandName="Insert"
                            Text="Save" />&nbsp;<asp:Button ID="cancelBtn" runat="server" CausesValidation="False"
                                CommandName="Cancel" OnClick="cancelBtn_Click" Text="Cancel" />
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <asp:Button ID="saveBtn" runat="server" CausesValidation="False" CommandName="New"
                            Text="Save" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Fields>
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <AlternatingRowStyle BackColor="White" />
        </asp:DetailsView>

then my c# code:

protected void calendarImageBtn_Click(object sender, EventArgs e)
        {
            Calendar cal = (Calendar)addEventDetailView.FindControl("eventRegistrationClosedCalendar");
            cal.Visible = true;

        }
        protected void eventRegistrationClosedCalendar_SelectionChanged(object sender, EventArgs e)
        {
            Calendar calendar = (Calendar)addEventDetailView.FindControl("eventRegistrationClosedCalendar");
            TextBox eventTxt = (TextBox)addEventDetailView.FindControl("eventRegistrationClosedTxt");
            eventTxt.Text = calendar.SelectedDate.ToShortDateString();
            calendar.Visible = false;
        }

The image button does pop up the calendar but when I select a date it does nothing. Can someone maybe tell me why it is not working?

Thank you,
Jess

Recommended Answers

show me your complete code..

start from page load till end..

Jump to Post

All 2 Replies

show me your complete code..

start from page load till end..

I found it, the SelectionChanged event on the calendar should have been onSelectionChanged, thanks though.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.