Reputation: 576
<DataGrid x:Name="RawDataGrid" Margin="5,-109,5,5" BorderThickness="1 1 1 1" CanUserAddRows="False" CanUserReorderColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Width="190" Header="Temperature" Binding="{Binding Temperature}" />
<DataGridTextColumn Width="190" Header="IntegratedVoltage" Binding="{Binding IntegratedVoltage}" />
</DataGrid.Columns>
</DataGrid>
public static void SetDataGrid()
{
ResultTable = new DataTable();
ResultTable.Columns.Add("Contents") ;
ResultTable.Columns.Add("Low") ;
ResultTable.Columns.Add("Mid") ;
ResultTable.Columns.Add("High") ;
RawDataTable = new DataTable();
ResultTable.Columns.Add("Temperature") ;
ResultTable.Columns.Add("IntegratedVoltage");
}
public static void DisplayResult(DataClass data)
{
try
{
if (ResultTable.Rows.Count != 0)
{
ResultTable.Rows.Clear();
}
DataRow row1 = ResultTable.NewRow();
row1["Contents"] = "Ratio";
row1["Low"] = string.Format("{0:F2}" , data.Ratio_LM.ToString());
row1["Mid"] = string.Format("{0:F2}" , data.Ratio_MH.ToString());
row1["High"] = 1;
ResultTable.Rows.Add(row1);
DataRow row2 = ResultTable.NewRow();
row2["Contents"] = "Temperature";
row2["Low"] = string.Format("{0:F2}" , data.BDTemp_Mdw.ToString());
row2["Mid"] = string.Format("{0:F2}" , data.BDTemp_Mup.ToString());
row2["High"] = "";
ResultTable.Rows.Add(row2);
if (RawDataTable.Rows.Count != 0)
{
RawDataTable.Rows.Clear();
}
for (int i = 0; i < data.IntegratedVoltList.Count; i++)
{
DataRow row = RawDataTable.NewRow();
**row["Temperature"] = string.Format("{0:F2}", data.TempList[i].ToString())** ; // Error
row["IntegratedVoltage"] = string.Format("{0:F2}", data.IntegratedVoltList[i].ToString()) ;
RawDataTable.Rows.Add(row);
}
}
catch (Exception e)
{
}
}
#endregion
}`enter code here`
*Error message is
"Message = "Column 'Temperature' does not belong to table ."
I don't know why this error happens. This works well in other an project, this is also a first time this error occurred. I think there is something that I didn't notice. Let me know why this code doesn't work.
Upvotes: 1
Views: 163
Reputation: 16966
Problem is you never added columns to RawDataTable
, in the below code snippet a new DataTable
created but columns are added to ResultTable
(a different table).
RawDataTable = new DataTable();
ResultTable.Columns.Add("Temperature") ;
ResultTable.Columns.Add("IntegratedVoltage");
Should be..
RawDataTable = new DataTable();
RawDataTable.Columns.Add("Temperature") ;
RawDataTable.Columns.Add("IntegratedVoltage");
Upvotes: 1
Reputation: 4138
It's because you mistyped the data table name when adding the columns.
RawDataTable = new DataTable();
ResultTable.Columns.Add("Temperature") ;
ResultTable.Columns.Add("IntegratedVoltage");'
It should be 'RawDataTable' not 'ResultDataTable'.
Upvotes: 0
Reputation: 1557
You do not add the Temperature
and IntegratedVoltage
columns to the RawDataTable, instead:
RawDataTable = new DataTable();
ResultTable.Columns.Add("Temperature") ; // Wrong data table
ResultTable.Columns.Add("IntegratedVoltage"); // Wrong data table
Upvotes: 0