下面的方法是我自己写的,但是只有在输出四列的情况下才能正常显示,如果输出超过四列数据的话,就不但没有显示,而且会直接退出对话框程序
void CMemberDlg::AddToList()
{
m_List.DeleteAllItems(); //m_List是CListCtrl的一个对象
CADOConn adoconn;
adoconn.OnInitADOConn(); //初始化数据库连接
_bstr_t vSQL;
vSQL = "select * from base_Member";
int i = 0;
m_pRecordset = adoconn.GetRecordSet(vSQL);
while(!m_pRecordset->ADOEof)
{
m_List.InsertItem(i,"",0);
m_List.SetItemText(i,0,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_num"));
m_List.SetItemText(i,1,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_name"));
m_List.SetItemText(i,2,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_pw"));
m_List.SetItemText(i,3,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_sex"));
// m_List.SetItemText(i,4,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_idcard"));
// m_List.SetItemText(i,5,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_score"));
// m_List.SetItemText(i,6,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_money"));
// m_List.SetItemText(i,7,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_statu"));
// m_List.SetItemText(i,8,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_money"));
// m_List.SetItemText(i,9,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("mb_group"));
m_pRecordset->MoveNext();
}
adoconn.ExitConnect();
}
9 个解决方案
#1
你的列表中一共设置了有几列m_List.InsertColumn(,,,)?
如果只有3列的话就只能显示3列的数据了,对于为什么退出我也不知道
如果只有3列的话就只能显示3列的数据了,对于为什么退出我也不知道
#2
我的列表是原本是有10列的,如果只是打印4列的话,就能够正常显示,但是,如果要打印的列数超过4列,那么就会直接退出应用程序。我都快烦躁死了,希望有人能帮帮我!
#3
很明显是你没设置正确的列数
m_List.InsertColumn(1,"第二列");
.............
m_List.InsertColumn(1,"第二列");
.............
#4
那就很有可能是 m_pRecordset->GetCollect("mb_idcard"))的问题了 自己检查下
#5
你可以把你的和这个listctrl相关的代码粘贴一下,这样大家的分析也更有针对性
#6
谢谢你的指点,我确实在这里犯了一个低级错误,把字段名给弄错了!狂汗!!!!
#7
1;CHeaderCtrl* GetHeaderCtrl( );
2;CHeaderCtrl::GetItemCount();
看看有多少列?
2;CHeaderCtrl::GetItemCount();
看看有多少列?
#8
你的CListCtrl有10列??
#9
谢谢各位朋友帮忙解答!
我的问题已经解决了!是我自己犯了一个低级错误,把字段名给弄错了!
唉!一个人做这种东东,太容易犯错了!一不留神就……
唉!不说了!总之……太纠结……
明天结贴给分!
我的问题已经解决了!是我自己犯了一个低级错误,把字段名给弄错了!
唉!一个人做这种东东,太容易犯错了!一不留神就……
唉!不说了!总之……太纠结……
明天结贴给分!
#1
你的列表中一共设置了有几列m_List.InsertColumn(,,,)?
如果只有3列的话就只能显示3列的数据了,对于为什么退出我也不知道
如果只有3列的话就只能显示3列的数据了,对于为什么退出我也不知道
#2
我的列表是原本是有10列的,如果只是打印4列的话,就能够正常显示,但是,如果要打印的列数超过4列,那么就会直接退出应用程序。我都快烦躁死了,希望有人能帮帮我!
#3
很明显是你没设置正确的列数
m_List.InsertColumn(1,"第二列");
.............
m_List.InsertColumn(1,"第二列");
.............
#4
那就很有可能是 m_pRecordset->GetCollect("mb_idcard"))的问题了 自己检查下
#5
你可以把你的和这个listctrl相关的代码粘贴一下,这样大家的分析也更有针对性
#6
谢谢你的指点,我确实在这里犯了一个低级错误,把字段名给弄错了!狂汗!!!!
#7
1;CHeaderCtrl* GetHeaderCtrl( );
2;CHeaderCtrl::GetItemCount();
看看有多少列?
2;CHeaderCtrl::GetItemCount();
看看有多少列?
#8
你的CListCtrl有10列??
#9
谢谢各位朋友帮忙解答!
我的问题已经解决了!是我自己犯了一个低级错误,把字段名给弄错了!
唉!一个人做这种东东,太容易犯错了!一不留神就……
唉!不说了!总之……太纠结……
明天结贴给分!
我的问题已经解决了!是我自己犯了一个低级错误,把字段名给弄错了!
唉!一个人做这种东东,太容易犯错了!一不留神就……
唉!不说了!总之……太纠结……
明天结贴给分!