Forms Data Controls :: Listview Not Inserting Records?
Feb 5, 2010I have a listview that I automatically generated from a database table, enabling editing and inserting on the listview and the EntityDataSource that runs it.
I started customizing the listview templates so that I didn't have to see some of the fields (they're unnecessary from the standpoint of the form), and have alternately tried removing or hiding the unwanted fields. This pretty much patently results in me not being able to insert new records, although updating seems to work just fine. There are no error messages.
I then tried using InsertParameters in the datasource, but that didn't really help either.
In the codebehind I have an onInserting handler that should fill in some of the hidden/removed fields before the record goes to the database.
I've tried pretty much everything I can think of, and even my colleagues are kind of stumped. Why can't I insert records into this table/listview?
<asp:EntityDataSource ID="gradesEds" runat="server"
ConnectionString="name=SAAEntities" DefaultContainerName="SAAEntities"
EntitySetName="tblStudentGrades" AutoGenerateWhereClause="True" OrderBy="it.Date DESC"
EnableUpdate="True" EnableInsert="True">
<WhereParameters>
<asp:SessionParameter Name="StudentID" SessionField="SelectedStudentID" Type="String" />
<asp:SessionParameter Name="Class" SessionField="SelectedClass" Type="String" />
</WhereParameters>
<InsertParameters>
<asp:Parameter Name="GradeID" Type="Int32" Direction="Output" />
<asp:Parameter Name="StudentID" Type="String" />
<asp:Parameter Name="Prof" Type="String" />
<asp:Parameter Name="Class" Type="String" />
<asp:Parameter Name="Date" Type="DateTime" />
<asp:Parameter Name="Term" Type="String" />
<asp:Parameter Name="Year" Type="String" />
<asp:Parameter Name="Source" Type="String" />
<asp:Parameter Name="Grade" Type="String" />
<asp:Parameter Name="Read" Type="Boolean" />
<asp:Parameter Name="OtherInfo1" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo2" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo3" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo4" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo5" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo6" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo7" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo8" Type="Boolean" DefaultValue="false" />
<asp:Parameter Name="OtherInfo9" Type="Boolean" />
</InsertParameters>
</asp:EntityDataSource>
<asp:ListView ID="ListView1" runat="server" DataKeyNames="GradeID,StudentID"
DataSourceID="gradesEds" InsertItemPosition="LastItem" >
<ItemTemplate>
<tr style="background-color: #FFFBD6;color: #333333;">
<td>
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
<td>
<asp:Label ID="GradeIDLabel" runat="server" Text='<%# Eval("GradeID") %>' />
<asp:Label ID="StudentIDLabel" runat="server" Text='<%# Eval("StudentID") %>' />
<asp:Label ID="ProfLabel" runat="server" Text='<%# Eval("Prof") %>' />
<asp:Label ID="ClassLabel" runat="server" Text='<%# Eval("Class") %>' />
<asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' />
<asp:Label ID="TermLabel" runat="server" Text='<%# Eval("Term") %>' />
<asp:Label ID="YearLabel" runat="server" Text='<%# Eval("Year") %>' />
</td>
<td>
<asp:Label ID="SourceLabel" runat="server" Text='<%# Eval("Source") %>' />
</td>
<td>
<asp:Label ID="GradeLabel" runat="server" Text='<%# Eval("Grade") %>' />
</td>
<td>
<asp:Label ID="CommentsLabel" runat="server" Text='<%# Eval("Comments") %>' />
</td>
<td>
<asp:Label ID="NotesLabel" runat="server" Text='<%# Eval("Notes") %>' />
</td>
<td>
<asp:CheckBox ID="ReadCheckBox" runat="server" Checked='<%# Eval("Read") %>'
Enabled="false" />
</td>
<td>
<asp:CheckBox ID="OtherInfo1CheckBox" runat="server"
Checked='<%# Eval("OtherInfo1") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo2CheckBox" runat="server"
Checked='<%# Eval("OtherInfo2") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo3CheckBox" runat="server"
Checked='<%# Eval("OtherInfo3") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo4CheckBox" runat="server"
Checked='<%# Eval("OtherInfo4") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo5CheckBox" runat="server"
Checked='<%# Eval("OtherInfo5") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo6CheckBox" runat="server"
Checked='<%# Eval("OtherInfo6") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo7CheckBox" runat="server"
Checked='<%# Eval("OtherInfo7") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo8CheckBox" runat="server"
Checked='<%# Eval("OtherInfo8") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo9CheckBox" runat="server"
Checked='<%# Eval("OtherInfo9") %>' Enabled="false" />
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="background-color: #FAFAD2;color: #284775;">
<td>
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
<td>
<asp:Label ID="GradeIDLabel" runat="server" Text='<%# Eval("GradeID") %>' />
<asp:Label ID="StudentIDLabel" runat="server" Text='<%# Eval("StudentID") %>' />
<asp:Label ID="ProfLabel" runat="server" Text='<%# Eval("Prof") %>' />
<asp:Label ID="ClassLabel" runat="server" Text='<%# Eval("Class") %>' />
<asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' />
<asp:Label ID="TermLabel" runat="server" Text='<%# Eval("Term") %>' />
<asp:Label ID="YearLabel" runat="server" Text='<%# Eval("Year") %>' />
</td>
<td>
<asp:Label ID="SourceLabel" runat="server" Text='<%# Eval("Source") %>' />
</td>
<td>
<asp:Label ID="GradeLabel" runat="server" Text='<%# Eval("Grade") %>' />
</td>
<td>
<asp:Label ID="CommentsLabel" runat="server" Text='<%# Eval("Comments") %>' />
</td>
<td>
<asp:Label ID="NotesLabel" runat="server" Text='<%# Eval("Notes") %>' />
</td>
<td>
<asp:CheckBox ID="ReadCheckBox" runat="server" Checked='<%# Eval("Read") %>'
Enabled="false" />
</td>
<td>
<asp:CheckBox ID="OtherInfo1CheckBox" runat="server"
Checked='<%# Eval("OtherInfo1") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo2CheckBox" runat="server"
Checked='<%# Eval("OtherInfo2") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo3CheckBox" runat="server"
Checked='<%# Eval("OtherInfo3") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo4CheckBox" runat="server"
Checked='<%# Eval("OtherInfo4") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo5CheckBox" runat="server"
Checked='<%# Eval("OtherInfo5") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo6CheckBox" runat="server"
Checked='<%# Eval("OtherInfo6") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo7CheckBox" runat="server"
Checked='<%# Eval("OtherInfo7") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo8CheckBox" runat="server"
Checked='<%# Eval("OtherInfo8") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo9CheckBox" runat="server"
Checked='<%# Eval("OtherInfo9") %>' Enabled="false" />
</td>
</tr>
</AlternatingItemTemplate>
<EmptyDataTemplate>
<table runat="server"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
<tr>
<td>
No data was returned.</td>
</tr>
</table>
</EmptyDataTemplate>
<InsertItemTemplate>
<tr style="">
<td>
<asp:Button ID="InsertButton" runat="server" CommandName="Insert"
Text="Insert" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel"
Text="Clear" />
</td>
<td>
<!--
<asp:TextBox ID="StudentIDTextBox" runat="server"
Text='<%# Bind("StudentID") %>' />
<asp:TextBox ID="ProfTextBox" runat="server" Text='<%# Bind("Prof") %>' />
<asp:TextBox ID="ClassTextBox" runat="server" Text='<%# Bind("Class") %>' />
--> <asp:TextBox ID="DateTextBox" runat="server" Text='<%# Bind("Date") %>' />
<!-- <asp:TextBox ID="TermTextBox" runat="server" Text='<%# Bind("Term") %>' />
<asp:TextBox ID="YearTextBox" runat="server" Text='<%# Bind("Year") %>' />
--> </td>
<td>
<asp:TextBox ID="SourceTextBox" runat="server" Text='<%# Bind("Source") %>' />
</td>
<td>
<asp:TextBox ID="GradeTextBox" runat="server" Text='<%# Bind("Grade") %>' />
</td>
<td>
<asp:TextBox ID="CommentsTextBox" runat="server"
Text='<%# Bind("Comments") %>' />
</td>
<td>
<asp:TextBox ID="NotesTextBox" runat="server" Text='<%# Bind("Notes") %>' />
</td>
<td>
<asp:CheckBox ID="ReadCheckBox" runat="server" Checked='<%# Bind("Read") %>' />
</td>
<td>
<!-- <asp:CheckBox ID="OtherInfo1CheckBox" runat="server"
Checked='<%# Bind("OtherInfo1") %>' />
<asp:CheckBox ID="OtherInfo2CheckBox" runat="server"
Checked='<%# Bind("OtherInfo2") %>' />
<asp:CheckBox ID="OtherInfo3CheckBox" runat="server"
Checked='<%# Bind("OtherInfo3") %>' />
<asp:CheckBox ID="OtherInfo4CheckBox" runat="server"
Checked='<%# Bind("OtherInfo4") %>' />
<asp:CheckBox ID="OtherInfo5CheckBox" runat="server"
Checked='<%# Bind("OtherInfo5") %>' />
<asp:CheckBox ID="OtherInfo6CheckBox" runat="server"
Checked='<%# Bind("OtherInfo6") %>' />
<asp:CheckBox ID="OtherInfo7CheckBox" runat="server"
Checked='<%# Bind("OtherInfo7") %>' />
<asp:CheckBox ID="OtherInfo8CheckBox" runat="server"
Checked='<%# Bind("OtherInfo8") %>' /> -->
<asp:CheckBox ID="OtherInfo9CheckBox" runat="server"
Checked='<%# Bind("OtherInfo9") %>' />
</td>
</tr>
</InsertItemTemplate>
<LayoutTemplate>
<table runat="server">
<tr runat="server">
<td runat="server">
<table ID="itemPlaceholderContainer" runat="server" border="1"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
<tr runat="server" style="background-color: #FFFBD6;color: #333333;">
<th runat="server">
</th>
<th runat="server">
Date</th>
<th runat="server">
Source</th>
<th runat="server">
Grade</th>
<th runat="server">
Comments</th>
<th runat="server">
Notes</th>
<th runat="server">
Read</th>
<th runat="server">
OtherInfo9</th>
</tr>
<tr ID="itemPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
<tr runat="server">
<td runat="server"
style="text-align: center;background-color: #FFCC66;font-family: Verdana, Arial, Helvetica, sans-serif;color: #333333;">
<asp:DataPager ID="DataPager1" runat="server">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
ShowNextPageButton="False" ShowPreviousPageButton="False" />
<asp:NumericPagerField />
<asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True"
ShowNextPageButton="False" ShowPreviousPageButton="False" />
</Fields>
</asp:DataPager>
</td>
</tr>
</table>
</LayoutTemplate>
<EditItemTemplate>
<tr style="background-color: #FFCC66;color: #000080;">
<td>
<asp:Button ID="UpdateButton" runat="server" CommandName="Update"
Text="Update" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel"
Text="Cancel" />
</td>
<td>
<asp:Label ID="GradeIDLabel1" runat="server" Text='<%# Eval("GradeID") %>' />
<asp:TextBox ID="StudentIDTextBox" runat="server"
Text='<%# Bind("StudentID") %>' />
<asp:TextBox ID="ProfTextBox" runat="server" Text='<%# Bind("Prof") %>' />
<asp:TextBox ID="ClassTextBox" runat="server" Text='<%# Bind("Class") %>' />
<asp:TextBox ID="DateTextBox" runat="server" Text='<%# Bind("Date") %>' />
<asp:TextBox ID="TermTextBox" runat="server" Text='<%# Bind("Term") %>' />
<asp:TextBox ID="YearTextBox" runat="server" Text='<%# Bind("Year") %>' />
</td>
<td>
<asp:TextBox ID="SourceTextBox" runat="server" Text='<%# Bind("Source") %>' />
</td>
<td>
<asp:TextBox ID="GradeTextBox" runat="server" Text='<%# Bind("Grade") %>' />
</td>
<td>
<asp:TextBox ID="CommentsTextBox" runat="server"
Text='<%# Bind("Comments") %>' />
</td>
<td>
<asp:TextBox ID="NotesTextBox" runat="server" Text='<%# Bind("Notes") %>' />
</td>
<td>
<asp:CheckBox ID="ReadCheckBox" runat="server" Checked='<%# Bind("Read") %>' />
</td>
<td>
<asp:CheckBox ID="OtherInfo1CheckBox" runat="server"
Checked='<%# Bind("OtherInfo1") %>' />
<asp:CheckBox ID="OtherInfo2CheckBox" runat="server"
Checked='<%# Bind("OtherInfo2") %>' />
<asp:CheckBox ID="OtherInfo3CheckBox" runat="server"
Checked='<%# Bind("OtherInfo3") %>' />
<asp:CheckBox ID="OtherInfo4CheckBox" runat="server"
Checked='<%# Bind("OtherInfo4") %>' />
<asp:CheckBox ID="OtherInfo5CheckBox" runat="server"
Checked='<%# Bind("OtherInfo5") %>' />
<asp:CheckBox ID="OtherInfo6CheckBox" runat="server"
Checked='<%# Bind("OtherInfo6") %>' />
<asp:CheckBox ID="OtherInfo7CheckBox" runat="server"
Checked='<%# Bind("OtherInfo7") %>' />
<asp:CheckBox ID="OtherInfo8CheckBox" runat="server"
Checked='<%# Bind("OtherInfo8") %>' />
<asp:CheckBox ID="OtherInfo9CheckBox" runat="server"
Checked='<%# Bind("OtherInfo9") %>' />
</td>
</tr>
</EditItemTemplate>
<SelectedItemTemplate>
<tr style="background-color: #FFCC66;font-weight: bold;color: #000080;">
<td>
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
<td>
<asp:Label ID="GradeIDLabel" runat="server" Text='<%# Eval("GradeID") %>' />
<asp:Label ID="StudentIDLabel" runat="server" Text='<%# Eval("StudentID") %>' />
<asp:Label ID="ProfLabel" runat="server" Text='<%# Eval("Prof") %>' />
<asp:Label ID="ClassLabel" runat="server" Text='<%# Eval("Class") %>' />
<asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' />
<asp:Label ID="TermLabel" runat="server" Text='<%# Eval("Term") %>' />
<asp:Label ID="YearLabel" runat="server" Text='<%# Eval("Year") %>' />
</td>
<td>
<asp:Label ID="SourceLabel" runat="server" Text='<%# Eval("Source") %>' />
</td>
<td>
<asp:Label ID="GradeLabel" runat="server" Text='<%# Eval("Grade") %>' />
</td>
<td>
<asp:Label ID="CommentsLabel" runat="server" Text='<%# Eval("Comments") %>' />
</td>
<td>
<asp:Label ID="NotesLabel" runat="server" Text='<%# Eval("Notes") %>' />
</td>
<td>
<asp:CheckBox ID="ReadCheckBox" runat="server" Checked='<%# Eval("Read") %>'
Enabled="false" />
</td>
<td>
<asp:CheckBox ID="OtherInfo1CheckBox" runat="server"
Checked='<%# Eval("OtherInfo1") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo2CheckBox" runat="server"
Checked='<%# Eval("OtherInfo2") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo3CheckBox" runat="server"
Checked='<%# Eval("OtherInfo3") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo4CheckBox" runat="server"
Checked='<%# Eval("OtherInfo4") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo5CheckBox" runat="server"
Checked='<%# Eval("OtherInfo5") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo6CheckBox" runat="server"
Checked='<%# Eval("OtherInfo6") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo7CheckBox" runat="server"
Checked='<%# Eval("OtherInfo7") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo8CheckBox" runat="server"
Checked='<%# Eval("OtherInfo8") %>' Enabled="false" />
<asp:CheckBox ID="OtherInfo9CheckBox" runat="server"
Checked='<%# Eval("OtherInfo9") %>' Enabled="false" />
</td>
</tr>
</SelectedItemTemplate>
</asp:ListView>