Hi
I have a Grid with Calculated Columns
- when the user clicks edit button he enters the unit cost of an item.
- then the Item Cost is calculated automaticaly (Number of Pages * Unit Cost).
- Unit Cost is in Orders Table and Number of Pages is on Item Table.
- Everything is working fine except the user has to click two times on Edit to update the Item Cost, as for the first edit the user enters the Unit Cost and by clicking Update the Unit Cost columns updated correctly but the Item Cost column does not and the user needs to click edit again and click update again (without any change) to update the Item Cost Column.
Can the Item Cost update automaticaly when the user clicks update the first time.
here is my SqlDataSource:
-----------------------------------------------------
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:OrderSystemConn %>"
DeleteCommand="DELETE FROM [Orders] WHERE [OrderID] = @OrderID"
InsertCommand="INSERT INTO Orders(DaysLeft, StatusID, ItemCost) VALUES (@DaysLeft, @StatusID,)"
SelectCommand="SELECT Orders.OrderID, Orders.OrderDate, Orders.Quantity, Orders.ManageDate, Orders.OrderSpecs, Orders.ManageSubmit, Orders.ManageComment, Orders.DaysLeft, Orders.FinishDate, Orders.ItemID, Orders.StatusID, Status.StatusName, Orders.SupplierID, Division.DivisionName, Category.CategoryName, Type.TypeName, Item.FullCode, Version.VersionName, Orders.UnitCost, Orders.ItemCost, Orders.TotalCost, Item.PagesNumber FROM Orders INNER JOIN Status ON Orders.StatusID = Status.StatusID INNER JOIN Item ON Orders.ItemID = Item.ItemID INNER JOIN Category ON Item.CategoryID = Category.CategoryID INNER JOIN Division ON Item.DivisionID = Division.DivisionID INNER JOIN Type ON Item.TypeID = Type.TypeID INNER JOIN Version ON Item.VersionID = Version.VersionID WHERE (Orders.ManageSubmit = 1) AND (Orders.StatusID <> 3) AND (Orders.SupplierID = 2) ORDER BY Orders.FinishDate"
UpdateCommand="UPDATE Orders SET UnitCost = @UnitCost, ItemCost = Orders.UnitCost * Item.PagesNumber FROM Orders INNER JOIN Item ON Orders.ItemID = Item.ItemID WHERE (Orders.OrderID = @OrderID)">
<DeleteParameters>
<asp:Parameter Name="OrderID" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="UnitCost" />
<asp:Parameter Name="OrderID" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="DaysLeft" />
<asp:Parameter Name="StatusID" />
</InsertParameters>
</asp:SqlDataSource>
-------------------------------------------------------
I have a Grid with Calculated Columns
- when the user clicks edit button he enters the unit cost of an item.
- then the Item Cost is calculated automaticaly (Number of Pages * Unit Cost).
- Unit Cost is in Orders Table and Number of Pages is on Item Table.
- Everything is working fine except the user has to click two times on Edit to update the Item Cost, as for the first edit the user enters the Unit Cost and by clicking Update the Unit Cost columns updated correctly but the Item Cost column does not and the user needs to click edit again and click update again (without any change) to update the Item Cost Column.
Can the Item Cost update automaticaly when the user clicks update the first time.
here is my SqlDataSource:
-----------------------------------------------------
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:OrderSystemConn %>"
DeleteCommand="DELETE FROM [Orders] WHERE [OrderID] = @OrderID"
InsertCommand="INSERT INTO Orders(DaysLeft, StatusID, ItemCost) VALUES (@DaysLeft, @StatusID,)"
SelectCommand="SELECT Orders.OrderID, Orders.OrderDate, Orders.Quantity, Orders.ManageDate, Orders.OrderSpecs, Orders.ManageSubmit, Orders.ManageComment, Orders.DaysLeft, Orders.FinishDate, Orders.ItemID, Orders.StatusID, Status.StatusName, Orders.SupplierID, Division.DivisionName, Category.CategoryName, Type.TypeName, Item.FullCode, Version.VersionName, Orders.UnitCost, Orders.ItemCost, Orders.TotalCost, Item.PagesNumber FROM Orders INNER JOIN Status ON Orders.StatusID = Status.StatusID INNER JOIN Item ON Orders.ItemID = Item.ItemID INNER JOIN Category ON Item.CategoryID = Category.CategoryID INNER JOIN Division ON Item.DivisionID = Division.DivisionID INNER JOIN Type ON Item.TypeID = Type.TypeID INNER JOIN Version ON Item.VersionID = Version.VersionID WHERE (Orders.ManageSubmit = 1) AND (Orders.StatusID <> 3) AND (Orders.SupplierID = 2) ORDER BY Orders.FinishDate"
UpdateCommand="UPDATE Orders SET UnitCost = @UnitCost, ItemCost = Orders.UnitCost * Item.PagesNumber FROM Orders INNER JOIN Item ON Orders.ItemID = Item.ItemID WHERE (Orders.OrderID = @OrderID)">
<DeleteParameters>
<asp:Parameter Name="OrderID" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="UnitCost" />
<asp:Parameter Name="OrderID" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="DaysLeft" />
<asp:Parameter Name="StatusID" />
</InsertParameters>
</asp:SqlDataSource>
-------------------------------------------------------