VC++中ListBox已用ADO向表中加入数据,并显示于报表中。如何刷新报表中的数据
我向表中添加了数据或删除数据,怎样更新报表中的数据。用记录集无法实现,方法是先关闭记录集再打开。但报表中显示先有数据,这种方法行不通,会出现RUNTIME。笨方法是重新执...
我向表中添加了数据或删除数据,怎样更新报表中的数据。
用记录集无法实现,方法是先关闭记录集再打开。但报表中显示先有数据,这种方法行不通,会出现RUNTIME。
笨方法是重新执行.exe来更新。
请问有什么方法添加数据后马上更新报表。我设定的变量为CListCstrl m_list 展开
用记录集无法实现,方法是先关闭记录集再打开。但报表中显示先有数据,这种方法行不通,会出现RUNTIME。
笨方法是重新执行.exe来更新。
请问有什么方法添加数据后马上更新报表。我设定的变量为CListCstrl m_list 展开
展开全部
你用记录集把数据保存到数据库,再对列表操作,把数据添加到报表,就可以显示了。但这是笨办法,我也只会这个办法。
删除的时候你还用记录集删除数据,然后再从列表中删除项,就是那个Delete()函数。
——————————————————
或者使用sleep函数,不过会感觉很烦,就像延迟似的。
——————————————————
还有一种办法,你把数据添加到数据库后,对列表执行deleteallitems()函数,就是把列表中所有项都删除,从新向里面添加数据。你可以为向列表添加数据事件专门写个函数,用到就调用就行了。
——————方法三的函数———————
这是我的一个程序里的函数:
void CTxlDlg::show()
{
m_ListCtrl.DeleteAllItems();
CTxlSet tSet;
tSet.Open();
int nItem=0;
CString str;
tSet.MoveFirst();
while(!tSet.IsEOF()){
for(UINT i=0;i<8;i++)
{
tSet.GetFieldValue(i,str);
if(i==0)
m_ListCtrl.InsertItem(nItem,str);
else
m_ListCtrl.SetItemText(nItem,i,str);
}
nItem++;
tSet.MoveNext();
}
tSet.Close();
}
删除的时候你还用记录集删除数据,然后再从列表中删除项,就是那个Delete()函数。
——————————————————
或者使用sleep函数,不过会感觉很烦,就像延迟似的。
——————————————————
还有一种办法,你把数据添加到数据库后,对列表执行deleteallitems()函数,就是把列表中所有项都删除,从新向里面添加数据。你可以为向列表添加数据事件专门写个函数,用到就调用就行了。
——————方法三的函数———————
这是我的一个程序里的函数:
void CTxlDlg::show()
{
m_ListCtrl.DeleteAllItems();
CTxlSet tSet;
tSet.Open();
int nItem=0;
CString str;
tSet.MoveFirst();
while(!tSet.IsEOF()){
for(UINT i=0;i<8;i++)
{
tSet.GetFieldValue(i,str);
if(i==0)
m_ListCtrl.InsertItem(nItem,str);
else
m_ListCtrl.SetItemText(nItem,i,str);
}
nItem++;
tSet.MoveNext();
}
tSet.Close();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询