I have a gridview. When I click the Delete button, it works. When I click the Update button - nothing happens.
< asp :GridView ID="grdTransactions" runat="server" AutoGenerateColumns="False"Font-Names="Verdana" Font-Size="Small" BorderColor="Black" BorderStyle="Solid" Caption="Transactions" AllowPaging="True" AllowSorting="True" DataKeyNames="REC_ID" DataSourceID="dsTransactions" AutoGenerateDeleteButton="false" AutoGenerateSelectButton="False" >
<AlternatingRowStyle BackColor="#E0E0E0" Font-Names="Verdana" Font-Size="Small" />
<SelectedRowStyle CssClass="gridViewSelectedRow" />
<Columns>
<asp:TemplateField HeaderText="ACCOUNT" SortExpression="ACCOUNT_NAME">
<EditItemTemplate>
<asp:DropDownList ID="lstAccountName" runat="server" DataSourceID="dsAccounts"
DataTextField="ACCOUNT_NAME" DataValueField="ACCOUNT_ID"
SelectedValue='<%# Bind("Account_ID") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:label ID="lblAccountName" runat="server" Text='<%# Bind("ACCOUNT_NAME") %>' />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle Width="150px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="TRANSACTION DATE" SortExpression="TRANSACTION_DATE">
<EditItemTemplate>
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server"
TargetControlID="txtTransactionDate" />
<asp:TextBox ID="txtTransactionDate" runat="server"
Text='<%# Bind("TRANSACTION_DATE", "{0:MM-dd-yyyy}") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblTransactionDate" runat="server" Text='<%# Bind("TRANSACTION_DATE", "{0:MM-dd-yyyy}") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle Width="150px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="PAYEE" SortExpression="PAYEE_NAME">
<EditItemTemplate>
<asp:DropDownList ID="lstPayeeName" runat="server" DataSourceID="dsPayees"
DataTextField="PAYEE_NAME" DataValueField="PAYEE_ID"
SelectedValue='<%# Bind("Payee_ID") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:label ID="lblPayeeName" runat="server" Text='<%# Bind("PAYEE_NAME") %>'></asp:label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle Width="150px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="AMOUNT" SortExpression="AMOUNT">
<EditItemTemplate>
<asp:TextBox ID="txtEditAmount" runat="server" Text='<%# Bind("AMOUNT") %>' />
<ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender2" runat="server"
TargetControlID="txtEditAmount" Mask="99,999.99"
MessageValidatorTip=true
OnFocusCssClass="MaskedEditFocus"
OnInvalidCssClass="MaskedEditError"
MaskType="Number" DisplayMoney="Left"
ClearTextOnInvalid="true" InputDirection="RightToLeft" />
<ajaxToolkit:MaskedEditValidator ID="MaskedEditValidator2" runat="server"
ControlToValidate="txtEditAmount"
ControlExtender="MaskedEditExtender2"
Display=dynamic ForeColor="Blue"
TooltipMessage="Enter transaction amount"
IsValidEmpty=false EmptyValueMessage="Amount is required" InvalidValueMessage="Invalid value" Font-Names="Verdana" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblEditAmount" runat="server" Text='<%# Bind("AMOUNT", "{0:$#,###.##}") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Right" />
<ItemStyle HorizontalAlign="Right" Width="100px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="PAID VIA" SortExpression="DESCRIPTION">
<EditItemTemplate>
<asp:DropDownList ID="lstPayBasis" runat="server" DataSourceID="dsCodeNames"
DataTextField="DESCRIPTION" DataValueField="CODE"
SelectedValue='<%# Bind("PAY_BASIS") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:label ID="lblDescription" runat="server" Text='<%# Bind("DESCRIPTION") %>'></asp:label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle Width="100px" />
</asp:TemplateField>
<asp:CheckboxField DataField="OFF_BUDGET" HeaderText="OFF BUDGET" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100px" SortExpression="OFF_BUDGET" >
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="100px" />
</asp:CheckboxField>
<asp:CheckboxField DataField="DEDUCT_FROM_BA" HeaderText="DEDUCT BA" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100px" SortExpression="DEDUCT_FROM_BA" >
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="100px" />
</asp:CheckboxField>
<asp:BoundField DataField="COMMENT" HeaderText="COMMENT" SortExpression="COMMENT" />
<asp:CommandField ButtonType="Image"
EditImageUrl="~/graphics/pencil.JPG"
CancelImageUrl="~/graphics/cancel.JPG"
UpdateImageUrl="~/graphics/OK.JPG"
ShowDeleteButton="True"
DeleteImageUrl="~/graphics/delete.jpg" ShowEditButton="True" />
</Columns>
</asp:GridView>
Here is the DataSource to which the gridview is bound
<asp:ObjectDataSource ID="dsTransactions" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetTransactionsByDateRange" TypeName="TransactionsBLL"
DeleteMethod="DeleteTransactionsByID" UpdateMethod="UpdateTransaction">
<SelectParameters>
<asp:ControlParameter ControlID="txtStartDate" Name="pStartDate" PropertyName="Text"
Type="DateTime" />
<asp:ControlParameter ControlID="txtEndDate" Name="pEndDate" PropertyName="Text"
Type="DateTime" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="original_REC_ID" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="original_REC_ID" type="Int32" />
<asp:Parameter Name="pAccountID" Type="Int32" />
<asp:Parameter Name="pTransactionDate" Type="DateTime" />
<asp:Parameter Name="pAmount" Type="Single" />
<asp:Parameter Name="pComment" Type="String" />
<asp:Parameter Name="pPayeeID" Type="Int32" />
<asp:Parameter Name="pPayBasis" Type="Int32" />
<asp:Parameter Name="pOffBudget" Type="Byte" />
<asp:Parameter Name="pDeductBA" Type="Byte" />
</UpdateParameters>
</asp:ObjectDataSource>
Here is the BLL to which the DataSource is bound
Imports
Microsoft.VisualBasic
Imports
budget
<System.ComponentModel.DataObject()> _
Public
Class TransactionsBLL
Private transactionsAdapter As New budgetTableAdapters.TRANSACTIONSTableAdapter
Protected ReadOnly Property Adapter() As budgetTableAdapters.TRANSACTIONSTableAdapter
Get
If transactionsAdapter Is Nothing Then
transactionsAdapter =
New budgetTableAdapters.TRANSACTIONSTableAdapter
End If
Return transactionsAdapter
End Get
End Property
<System.ComponentModel.DataObjectMethodAttribute _
(System.ComponentModel.DataObjectMethodType.Select,
True)> _
Public Function GetTransactionsByDateRange(ByVal pStartDate As Date, ByVal pEndDate As Date) As budget.TRANSACTIONSDataTable
Return Adapter.GetTransactionsByDateRange(pStartDate, pEndDate)
End Function
<System.ComponentModel.DataObjectMethodAttribute _
(System.ComponentModel.DataObjectMethodType.Select,
False)> _
Public Function GetTransactionsByID(ByVal pTransactionID As Integer) As budget.TRANSACTIONSDataTable
Return Adapter.GetTransactionsByID(pTransactionID)
End Function
<System.ComponentModel.DataObjectMethodAttribute _
(System.ComponentModel.DataObjectMethodType.Delete,
False)> _
Public Sub DeleteTransactionsByID(ByVal original_REC_ID As Integer)
Adapter.DeleteTransactionByID(original_REC_ID)
End Sub
<System.ComponentModel.DataObjectMethodAttribute _
(System.ComponentModel.DataObjectMethodType.Update,
False)> _
Public
Sub UpdateTransaction(ByVal original_REC_ID As Integer, ByVal pAccountID As Integer, _
ByVal pTransactionDate As DateTime, ByVal pAmount As Single, ByVal pComment As String, _
ByVal pPayeeID As Integer, ByVal pPayBasis As Integer, ByVal pOffBudget As Byte, ByVal pDeductBA As Byte)
MsgBox(
"Updating")
Adapter.UpdateTransaction(original_REC_ID, pAccountID, pTransactionDate, pAmount, pComment, _
pPayeeID, pPayBasis, pOffBudget, pDeductBA)
End Sub
End
Class