111,093
社区成员




private void getOriginalData(string mName)
{
DataGrid.Rows.Clear();
DataGrid.Columns.Clear();
DataGrid.Headers.Clear();
headerTextList.Clear();
string headerText, rowHeaderText;
try
{
SQL.getModelParaData(mName + "_Cooling");
coeff_re = SQL.originalC;
SQL.getModelParaData(mName + "_Elec");
coeff_ele = SQL.originalE;
SQL.getModelParaData(mName + "_InPutPower");
coeff_power = SQL.originalP;
if (SQL.evaRange.Count == 0||SQL.conRange.Count==0) return;
if (DataGrid == null) return;
//lock(DataGrid)
{
for (int i = 0; i < SQL.evaRange.Count; i++)
{
headerText = SQL.evaRange[i].ToString() + ".0";
DataGridViewCell cell = new DataGridViewTextBoxCell();
DataGridViewColumn col_textCH = new DataGridViewColumn();
DataGridViewColumn col_textCOP = new DataGridViewColumn();
DataGridViewColumn col_textele = new DataGridViewColumn();
DataGridViewColumn col_textInput = new DataGridViewColumn();
if (col_textCH == null || col_textCOP == null || col_textele == null || col_textInput == null) continue;
col_textCH.CellTemplate = cell;
col_textCOP.CellTemplate = cell;
col_textCOP.HeaderText = "COP";
col_textele.CellTemplate = cell;
col_textInput.CellTemplate = cell;
if (ContentInput.dataResource.IsEnglish)
{
col_textele.HeaderText = "elec";
if (ContentInput.dataResource.ReturnCoolOrHeat)
{
col_textCH.HeaderText = "cooling";
}
else
{
col_textCH.HeaderText = "heating";
}
col_textInput.HeaderText = "InPutPower";
}
else
{
col_textele.HeaderText = "电流";
if (ContentInput.dataResource.ReturnCoolOrHeat)
{
col_textCH.HeaderText = "制冷量";
}
else
{
col_textCH.HeaderText = "制热量";
}
col_textInput.HeaderText = "输入功率";
}
//col_textCH.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
//col_textCOP.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
//col_textele.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
//col_textInput.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
headerTextList.Add(headerText);
//lock (col_textInput)
{
DataGrid.Columns.Add(col_textCH);
DataGrid.Columns.Add(col_textCOP);
DataGrid.Columns.Add(col_textele);
DataGrid.Columns.Add(col_textInput);
//DataGrid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
DataGrid.Headers.Add(new kryptonDataGridView_Re.TopHeader(DataGrid.ColumnCount - 4, 4, headerText));
}
}
for (int i = 0; i < SQL.conRange.Count; i++)
{
rowHeaderText = SQL.conRange[i].ToString() + ".0";
DataGridViewRow rowData = new DataGridViewRow();
if (rowData == null) continue;
rowData.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
rowData.HeaderCell.Value = rowHeaderText;
DataGrid.Rows.Add(rowData);
}
cellSelect(null, null);
}
}
catch(Exception ex)
{
//throw ex;
MessageBox.Show("peformance getOriginalData error:" + ex.Message);
}
}
为什么
DataGrid.Columns.Add(col_textCH);
DataGrid.Columns.Add(col_textCOP);
DataGrid.Columns.Add(col_textele);
DataGrid.Columns.Add(col_textInput);中的任何一个会提示超出范围,无引用实例对象,集合已修改,可能无法执行枚举操作;所提供的列不属于DataGridView控件等错误;
DataGrid.Rows.Add(rowData);
也会显示无引用实例对象的错误。
DataGrid必须是已经存在的控件