I have a Grid View that allows mulitple updates with one click (a bulk edit if you will). The 3 problem fields are date fields. I have a calendar control tied to a popupControlExtender wrapped in an update panel which is in a panel control. If i want to change the dates on the last row in the Grid View it works fine; however if I try to edit any other dates in the grid view it returns a blank text box. If I click the textbox again the Calendar still hold the value of the date, but just does not display the date.
Here is the GridView Code from my .aspx page:
<
asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" GridLines="Horizontal">
<Columns>
<asp:TemplateField HeaderText="ItemNo" InsertVisible="False" SortExpression="ItemNo">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ItemNo") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ItemNo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Action By" SortExpression="Name">
<EditItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="SDSEmpID" DataTextField="Name"
DataValueField="EmployeeID" SelectedValue='<%# Bind("ActionBy") %>'>
</asp:DropDownList><asp:SqlDataSource ID="SDSEmpID" runat="server" ConnectionString="<%$ ConnectionStrings:EmployeesConnectionString %>"
SelectCommand="SELECT EmployeeID, LastName + ', ' + FirstName AS Name FROM dbo.Employees WHERE (Active = '1') ORDER BY LastName">
</asp:SqlDataSource>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description" SortExpression="Description">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Height="48px" MaxLength="1000" Text='<%# Bind("Description") %>'
TextMode="MultiLine" Width="232px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Assigned" SortExpression="Assigned">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Assigned") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="txtAssigned" runat="server" Text='<%# Bind("Assigned", "{0:d}") %>'
Width="72px"></asp:TextBox><br />
<asp:Panel ID="pnlAssigned" runat="server" BackColor="White" Height="50px"
Width="125px">
<atlas:UpdatePanel ID="UpdatePanel4" runat="server">
<ContentTemplate>
<asp:Calendar ID="CalAssigned" runat="server" OnSelectionChanged="CalAssigned_SelectionChanged" BackColor="#E2C382" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px">
<SelectedDayStyle BackColor="Black" ForeColor="White" />
<TodayDayStyle BackColor="White" Font-Bold="True" Font-Italic="True" ForeColor="#0000C0" />
<WeekendDayStyle BackColor="#E0E0E0" Font-Strikeout="False" ForeColor="Gray" />
<NextPrevStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
<DayHeaderStyle BackColor="Black" ForeColor="White" />
<TitleStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
</asp:Calendar>
<cc1:PopupControlExtender ID="PopupControlExtender1" runat="server">
<cc1:PopupControlProperties TargetControlID="txtAssigned" PopupControlID="PnlAssigned" Position="Bottom" CommitProperty="value"/>
</cc1:PopupControlExtender>
</ContentTemplate>
</atlas:UpdatePanel>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="DoneOn" SortExpression="DoneOn">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("DoneOn") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="txtDoneOn" runat="server" Text='<%# Bind("DoneOn", "{0:d}") %>'
Width="72px"></asp:TextBox><br />
<asp:Panel ID="pnlDoneOn" runat="server" Height="50px" Width="125px">
<atlas:UpdatePanel ID="UpdatePanel5" runat="server">
<ContentTemplate>
<asp:Calendar ID="CalDoneOn" runat="server" OnSelectionChanged="CalDoneOn_SelectionChanged" BackColor="#E2C382" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px">
<SelectedDayStyle BackColor="Black" ForeColor="White" />
<TodayDayStyle BackColor="White" Font-Bold="True" Font-Italic="True" ForeColor="#0000C0" />
<WeekendDayStyle BackColor="#E0E0E0" Font-Strikeout="False" ForeColor="Gray" />
<NextPrevStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
<DayHeaderStyle BackColor="Black" ForeColor="White" />
<TitleStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
</asp:Calendar>
<cc1:PopupControlExtender ID="PopupControlExtender2" runat="server">
<cc1:PopupControlProperties TargetControlID="txtDoneOn" PopupControlID="pnlDoneOn" position="Bottom" CommitProperty="value" />
</cc1:PopupControlExtender>
</ContentTemplate>
</atlas:UpdatePanel>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="DueDate" SortExpression="DueDate">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("DueDate") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="txtDueDate" runat="server" Text='<%# Bind("DueDate", "{0:d}") %>'
Width="72px"></asp:TextBox><br />
<asp:Panel ID="pnlDueDate" runat="server" Height="50px" Width="125px">
<atlas:UpdatePanel ID="UpdatePanel6" runat="server">
<ContentTemplate>
<asp:Calendar ID="CalDueDate" runat="server" OnSelectionChanged="CalDueDate_SelectionChanged" BackColor="#E2C382" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px">
<SelectedDayStyle BackColor="Black" ForeColor="White" />
<TodayDayStyle BackColor="White" Font-Bold="True" Font-Italic="True" ForeColor="#0000C0" />
<WeekendDayStyle BackColor="#E0E0E0" Font-Strikeout="False" ForeColor="Gray" />
<NextPrevStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
<DayHeaderStyle BackColor="Black" ForeColor="White" />
<TitleStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
</asp:Calendar>
<cc1:PopupControlExtender ID="PopupControlExtender3" runat="server">
<cc1:PopupControlProperties TargetControlID="txtDueDate" PopupControlID="pnlDueDate" Position="Bottom" CommitProperty="value" />
</cc1:PopupControlExtender>
</ContentTemplate>
</atlas:UpdatePanel>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("Status") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("Status") %>' Text="Status " TextAlign="Left" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ProjNum" HeaderText="ProjNum" SortExpression="ProjNum" />
<asp:BoundField DataField="Discipline" HeaderText="Discipline" SortExpression="Discipline" />
</Columns>
<RowStyle HorizontalAlign="Left" VerticalAlign="Top" />
<HeaderStyle BackColor="#E2C382" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" />
</asp:GridView>
The codebehind file I am using to call the date from the Calendar Control to the Textbox is <CalendarID>_SelectionChanged:
PopupControlExtender1.Commit(CalAssigned.SelectedDate.ToShortDateString)
//////My syntax is the same for all 3 calendar controls associated with the PopupControlExtender.
I am coding in VB.NET.
ANy help would be much appreciated. Thanks
If you get an answer to your question, please mark it as 'Answer'
www.lymanlax.com |
www.possumslax.com