代码的意思是这样的:当在datagrid中显示了数据以后,点击datagrid上的某一个字段名,则所有记录按该字段排序。但是当运行到CColumn col = cols.GetItem(index)时出现了Debug Assertion Failed错误,请教高手,这该怎么改哈。多谢了!
void CAdoTestView::OnHeadClickDatagrid(short ColIndex)
{
//得到DataGrid中表示各列信息的类
CColumns cols = m_DataGrid.GetColumns();
//此参数用来得到具体某一列
VARIANT index;
//值为index
index.intVal = ColIndex;
//类型为整型
index.vt = VT_I4;
//得到点击列
CColumn col = cols.GetItem(index);
//得到此列的名字
m_strTableName = col.GetCaption();
}
void CAdoTestView::OnHeadClickDatagrid(short ColIndex)
{
//得到DataGrid中表示各列信息的类
CColumns cols = m_DataGrid.GetColumns();
//此参数用来得到具体某一列
VARIANT index;
//值为index
index.intVal = ColIndex;
//类型为整型
index.vt = VT_I4;
//得到点击列
CColumn col = cols.GetItem(index);
//得到此列的名字
m_strTableName = col.GetCaption();
}
//类型为整型
index.vt = VT_I4;
换下位置
{
CColumns cols = GetColumns();
VARIANT varColNum, varValue;
//设置列编号
varColNum.vt = VT_I2;// short int
varColNum.iVal = ColNum;
//根据列编号返回CColumn对象
CColumn col = cols.GetItem(varColNum);
//读取列的值
varValue = col.GetValue(); return varValue.bstrVal;
}
这是正确的,参考一下
ERROR: symbol "this" not found;
下面是我的代码,各位高手看看是怎么回事哈。
void CAdoTestView::OnHeadClickDatagrid(short ColIndex)
{
// TODO: Add your control notification handler code here
//得到DataGrid中表示各列信息的类
CColumns cols = m_DataGrid.GetColumns();
//此参数用来得到具体某一列
VARIANT index;
//值为index
//类型为整型
index.vt = VT_I4;
index.intVal = ColIndex; //得到点击列
CColumn col = cols.GetItem(index); //GetItem(index);
//得到此列的名字
m_strTableName = col.GetCaption();
}
这是断言失败,你可以使用try catch把错误抓出来看看