Hi! I am trying to create a delete function in DetailsView. I have already set up an SqlDataSource, generated Insert, Update and Delete statements in that SqlDataSource, clicked on Enable Deleting, Editing and Inserting in the DetailsView Taskbar. The table also has a primary key. But the Delete link does not appear. Here is the ASP code:
Code:
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataKeyNames="EmployeeID" DataSourceID="SqlDataSource1" DefaultMode="Insert"
Height="50px" Width="731px" AutoGenerateDeleteButton="True">
<Fields>
<asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID"
InsertVisible="False" ReadOnly="True" SortExpression="EmployeeID" />
<asp:TemplateField HeaderText="FirstName" SortExpression="FirstName">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("FirstName") %>'></asp:TextBox>
<asp:RequiredFieldValidator
ID="RequiredFieldValidator1" ControlToValidate="TextBox1"
runat="server" ErrorMessage="Please enter your first
name."></asp:RequiredFieldValidator>
</EditItemTemplate>
<%-- Code truncated --%>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"
ShowInsertButton="True" ShowSelectButton="True" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:nexConnectionString %>"
DeleteCommand="DELETE FROM [Employees] WHERE [EmployeeID] = @EmployeeID"
InsertCommand="INSERT INTO [Employees] ([LastName],
[FirstName], [Designation], [Address], [City], [Telephone],
[Birthdate], [DepartmentID], [Email]) VALUES (@LastName, @FirstName,
@Designation, @Address, @City, @Telephone, @Birthdate, @DepartmentID,
@Email)"
SelectCommand="SELECT * FROM [Employees] WHERE ([EmployeeID] = @EmployeeID)"
UpdateCommand="UPDATE [Employees] SET [LastName] = @LastName,
[FirstName] = @FirstName, [Designation] = @Designation, [Address] =
@Address, [City] = @City, [Telephone] = @Telephone, [Birthdate] =
@Birthdate, [DepartmentID] = @DepartmentID, [Email] = @Email WHERE
[EmployeeID] = @EmployeeID">
<SelectParameters>
<asp:QueryStringParameter Name="EmployeeID" QueryStringField="EmployeeID"
Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="EmployeeID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="LastName" Type="String" />
<%-- Code Truncated --%>
<asp:Parameter Name="Email" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
Thanks for your help.