• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 347
  • Last Modified:

cannot update gridview with calculated column

ive got a table with these columns
ID,jobid,description,StartTIme and EndTime.

Then I created a stored procedure to return these fields + a calculated column to display the difference in hours from the StartTime and EndTime columns. This column is called TotalHrs.

In my objectdatasource, in the select list, i ve choosen this stored procedure. And in the UPDATE list i selected a stored procedure, that i created, to update those fields ( In the update procedure doesnt appear the column TotalHrs)

Now, the grid it is showing me the correct data with the difference in hours but when i try to update the record it says.( In this grid I added a template field to show the total hours bound to the stored procedure field TotalHrs)

"ObjectDataSource 'ods_timesheet' could not find a non-generic method 'spUpdateTimeSheet' that has parameters: JobID, Description, StartTime, EndTime, original_ID, totalhrs"

If i remove the template field 'TotalHrs' it updates fine.

any thoughts?

  • 2
1 Solution
In your objectdatasource what does your UpdateParameters look like ?

Can we see some code..
arcrossAuthor Commented:

<asp:ObjectDataSource ID="ods_TimeSheet" runat="server" 
                OldValuesParameterFormatString="original_{0}" SelectMethod="GetTimeSheetByDate" 
                InsertMethod="spInsertTimeSheet" UpdateMethod="spUpdateTimeSheet"
                    <asp:Parameter Name="JobID" Type="Int32" />
                    <asp:Parameter Name="Description" Type="String" />
                    <asp:Parameter Name="StartTime" Type="DateTime" />
                    <asp:Parameter Name="EndTime" Type="DateTime" />
                    <asp:Parameter Name="original_ID" Type="Int32" />
                     <asp:ControlParameter ControlID="txt_date" PropertyName="Text" Name="mytime" 
                         Type="DateTime" />
                    <asp:Parameter Name="JobID" Type="Int32" />
                    <asp:Parameter Name="Description" Type="String" />
                    <asp:Parameter Name="StartTime" Type="DateTime" />
                    <asp:Parameter Name="EndTime" Type="DateTime" />

Open in new window

arcrossAuthor Commented:
i found the answer.

I went back to the XSD file I added an extra column, in this case TOTALHRS.
Then i refreshed my objectdatasource to make the field 'TotalHrs' appear in the bound field list. SO after this, i made it Readonly = true and that worked.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now