今天早上遇到一个问题:vc中用到ListBox控件时,一直不能按照自己的需要进行排序,看了其他人的工程才知道控件属性里的styles里sort选项的勾没有去掉,把sort的勾去了就能正确排序了。
在msdn中关于sort是这样说的:
可以在派生类中重写此方法,以提供您自己的排序例程。向 ListBox 添加项时,如果先对项进行排序,然后添加新项,则效率更高。
实现自己的排序:红色的为添加上去的句子
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->CursorLocation = adUseClient;
m_pRecordset->Open("SELECT * FROM [user]", // 查询DemoTable表中所有字段
_variant_t((IDispatch *)m_pConnection,true), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
m_pRecordset->Sort = "id asc"; //按照id升序排序
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}