I have a administration page with a datagrid showing the DB info. I have a Delete column and an Edit column. I have to click my Delete button twice before it deletes and I'm not sure why.
Code:
Sub dgAdmin_Delete(s As Object, e As DataGridCommandEventArgs)
Dim LineItemID As Integer = dgAdmin.DataKeys(e.Item.ItemIndex)
Dim strConn As New SqlConnection("dns")
Dim strCmd as String
strCmd = "DELETE FROM Order WHERE LineItemID = @LineItemID"
objCmd = New SqlCommand(strCmd, strConn)
objCmd.Parameters.Add("@LineItemID", sqldbtype.int).value = LineItemID
strConn.Open()
Try
objCmd.ExecuteNonQuery()
Catch SQLexc as SqlException
Response.Write("Delete failed. Error details are: " & SQLexc.ToString())
dgAdmin.EditItemIndex = -1
End Try
DataBind()
strConn.Close()
End Sub
and here is my data grid setup.
Code:
<asp:DataGrid id="dgAdmin" AutoGenerateColumns="false" CellPadding="4" HeaderStyle-VerticalAlign="bottom" DataKeyField="LineItemID" AllowSorting="true" OnSortCommand="dgAdmin_Sort" OnEditCommand="dgAdmin_Edit" OnCancelCommand="dgAdmin_Cancel" OnUpdateCommand="dgAdmin_Update" OnDeleteCommand="dgAdmin_Delete" runat="server">
<ItemStyle Font-Name="Verdana" Font-Size="8pt" />
<HeaderStyle Font-Name="Verdana" Font-Size="8pt" Font-Bold="true" />
<AlternatingItemStyle Font-Name="Verdana" Font-Size="8pt" BackColor="#FFF7D5" />
<Columns>
<asp:ButtonColumn ButtonType="LinkButton" Text="Del" CommandName="Delete" />
<asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" />
<asp:BoundColumn DataField="Name" HeaderText="Name" sortExpression="Name" ReadOnly="true" ItemStyle-HorizontalAlign="left" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="Extension" HeaderText="Extension" sortExpression="Extension" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="Location" HeaderText="Location" sortExpression="Location" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="OrderTotal" HeaderText="Order Total" sortExpression="OrderTotal" DataFormatString="{0:c}" ReadOnly="true" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="ItemQuantity" HeaderText="Qty" sortExpression="ItemQuantity" ItemStyle-Width="20" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="ItemName" HeaderText="Item" ReadOnly="true" sortExpression="ItemName" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="ItemColor" HeaderText="Color" sortExpression="ItemColor" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="ItemSize" HeaderText="Size" sortExpression="ItemSize" ItemStyle-Width="5" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="LogoOption" HeaderText="Logo Opt" sortExpression="LogoOption" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
<asp:BoundColumn DataField="LogoPrice" HeaderText="Logo Price" DataFormatString="{0:c}" ReadOnly="true" sortExpression="LogoPrice" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" />
</Columns>
</asp:DataGrid>
Any help will be appreciated.