所有数据都在ListBox中显示的,当添加一条记录后,怎样在ListBox控件中立即显示出来?
我的做法是在添加完记录后调用一个重新显示所有数据的方法,但仍然不能即时显示。
但是CListBox中也没有更新或刷新数据之类的方法。请问我该如何做到?感激涕零
我的做法是在添加完记录后调用一个重新显示所有数据的方法,但仍然不能即时显示。
但是CListBox中也没有更新或刷新数据之类的方法。请问我该如何做到?感激涕零
解决方案 »
- ado访问数据库,连接对象,记录集对象定义在哪里
- MFC 多继承 添加事件出错
- ====凌晨发帖问:非模态调用父窗口的函数,可行吗?为什么编译通过,但程序错误?内详=
- ShellExecute如何打开一个web页面, 这个页面没有工具栏, 还要指定大小和位置
- Win32程序如何调用MFC的类函数?
- 请问如果我只有一个DLL,没有lib没有头文件,是否可以调用里面的函数?
- 请问关于 acrobat 5.0 sdk的问题.
- Client 与 Server的同步问题.请高手帮忙。谢谢。
- VC6遵从ANSI/ISO C++ 哪个标准? ISO/IEC 14882:1998?
- 关于CListCtrl的插入问题
- OpenGL里纹理映射函数最后一个参数
- LoadCursor()
或者你自己在添加记录的时候手动地加到listbox上
不过这样不是很安全
void CInstanceView::Display(void)
{ m_lstAll.ResetContent(); DB myDB;
CString strConn("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db1.mdb;");
myDB.Conn(strConn);
CString strSql("select * from [user]");
myDB.Open(strSql); CString strNo, strName, strSex;
_variant_t var;
while (!myDB.m_pRecordset->adoEOF)
{
var = myDB.m_pRecordset->GetCollect("no");
if (var.vt != VT_NULL)
{
strNo = (LPCSTR)(_bstr_t)var;
} var = myDB.m_pRecordset->GetCollect((_variant_t)(long)1);
if (var.vt != VT_NULL)
{
strName = (LPCSTR)(_bstr_t)var;
} var = myDB.m_pRecordset->GetCollect("sex");
if (var.vt != VT_NULL)
{
strSex = (LPCSTR)(_bstr_t)var;
} //m_lstAll.AddString(strNo + "-->" + strName + "-->" + strSex);
m_lstAll.InsertString(-1, strNo + "-->" + strName + "-->" + strSex); // 添加到列表框
myDB.m_pRecordset->MoveNext();
}
}
这个是添加完记录调用的函数,可是ListBox里仍然没有显示出新添加的数据,何故呢?