Reputation: 4199
I have this simple calculation but for some reason I am not picking up where the problem is. I am getting "format input string not correct" error.
This is the code:
protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem dataItem = e.Item as GridDataItem;
if (dataItem["AlternCost"].Text !=null)
{
dataItem["TotCost"].Text = ((Convert.ToInt32(dataItem["AlternCost"].Text)) * (Convert.ToDouble(dataItem["Quantity"].Text))).ToString();
}
else
{
dataItem["TotCost"].Text = ((Convert.ToInt32(dataItem["Cost"].Text)) * (Convert.ToDouble(dataItem["Quantity"].Text))).ToString();
}
}
}
The error is on this line:
dataItem["TotCost"].Text =
((Convert.ToInt32(dataItem["AlternCost"].Text)) *
(Convert.ToDouble(dataItem["Quantity"].Text))).ToString();
This is my stack trace:
in System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
in System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) in System.Convert.ToInt32(String value)
in xxx_621.RadGrid1_ItemDataBound(Object sender, GridItemEventArgs e) in c:\Users\xxx\Documents\Visual Studio 2012\Projects\^^xxxxxxxxxxx - BOM\members\xxx_621.aspx.cs:riga 57 in Telerik.Web.UI.RadGrid.OnItemDataBound(GridItemEventArgs e) in Telerik.Web.UI.RadGrid.CallOnItemDataBound(GridItemEventArgs e) in Telerik.Web.UI.GridItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows) in Telerik.Web.UI.GridItemBuilder.InitializeItem(Int32 dataSourceIndex, String& nextItemHierarchicalIndex, Boolean& itemIsInEditMode) in Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group) in Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls) in Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) in Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) in System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data) in System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) in System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) in System.Web.UI.WebControls.DataBoundControl.PerformSelect() in Telerik.Web.UI.GridTableView.PerformSelect() in System.Web.UI.WebControls.BaseDataBoundControl.DataBind() in Telerik.Web.UI.GridTableView.DataBind() in Telerik.Web.UI.RadGrid.DataBind() in System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() in System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() in System.Web.UI.Control.EnsureChildControls() in System.Web.UI.Control.FindControl(String id, Int32 pathOffset) in System.Web.UI.Control.FindControl(String id) in Telerik.Web.ChildControlHelper.FindControlRecursive(String ID, Control root) in Telerik.Web.ChildControlHelper.FindControlRecursive(String ID, Control root) in Telerik.Web.ChildControlHelper.FindControlRecursive(String ID, Control root) in Telerik.Web.ChildControlHelper.FindControlRecursive(Control searcher, String ID) in Telerik.Web.UI.RadAjaxControl.FindControlRecursive(String ID) in Telerik.Web.UI.RadAjaxControl.OnPagePreRender(Object sender, EventArgs e) in System.EventHandler.Invoke(Object sender, EventArgs e) in System.Web.UI.Control.OnPreRender(EventArgs e) in System.Web.UI.Control.PreRenderRecursiveInternal() in System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Can someone please give me a hint on how to solve the problem?
Upvotes: 0
Views: 695
Reputation: 253
Shouldn't this be:
dataItem["TotCost"].Text = ((Convert.ToDouble(dataItem["AlternCost"].Text)) * (Convert.ToDouble(dataItem["Quantity"].Text))).ToString();
intead of:
dataItem["TotCost"].Text = ((Convert.ToInt32(dataItem["AlternCost"].Text)) * (Convert.ToDouble(dataItem["Quantity"].Text))).ToString();
note the Convert.ToDouble in both cases instead of ToInt32 and ToDouble?
Upvotes: 1