社区
界面
帖子详情
在用listctrl控件中,如果数据量很大,就会造成机器很慢或死机,有没有别的办法解决 ?
yuanl
2007-03-23 10:39:41
在用listctrl控件中,如果数据量很大,就会造成机器很慢或死机,有没有别的办法解决 ?
...全文
477
7
打赏
收藏
在用listctrl控件中,如果数据量很大,就会造成机器很慢或死机,有没有别的办法解决 ?
在用listctrl控件中,如果数据量很大,就会造成机器很慢或死机,有没有别的办法解决 ?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
albertdiao
2010-11-23
打赏
举报
回复
虚模式
http://blog.sina.com.cn/s/blog_49c93b880100iw2k.html
yuanl
2007-03-23
打赏
举报
回复
一个月就有8000条数据量,
这是一个收费数据
dazedase
2007-03-23
打赏
举报
回复
Ado1000条以内速度不慢啊
难道有10000条?
也可在listctrl的OnGetdispinfo中来获取数据(可能需要派生一个CYourlistctrl)
这样只有看得到的Item才从库中取数据,不用循环,速度快
但是很麻烦,易出错
yuanl
2007-03-23
打赏
举报
回复
这种办法试了,不行
不知是不是处理上有问题:
_variant_t var;
CString str1,str2,str3,bl,strbz,gshbl;
gsl = 0;
je = 0.0;
ClearList();// 清空列表框
FillSRecordlist();
str1=str2=str3="";
int i=0,inths=0,fhhs=0;
bbrow = 0;
try
{
//刷新一下数据表内
if(!theApp.m_pRecordset->BOF)
theApp.m_pRecordset->MoveFirst();
m_list.SetRedraw(FALSE);
while(!theApp.m_pRecordset->adoEOF)
{
bl.Format("记录%d",i+1);
m_list.InsertItem(i,bl);
var = theApp.m_pRecordset->GetCollect("id号"); if(var.vt != VT_NULL)
str1 = (LPCSTR)_bstr_t(var);
if( str1 != gshbl)
{
inths++;
gshbl = str1;
if(str1.Right(1) =='B')
fhhs++;
}
m_list.SetItemText(i,1,str1);
var = theApp.m_pRecordset->GetCollect("用户名称");
if(var.vt != VT_NULL)
str1 = (LPCSTR)_bstr_t(var);
m_list.SetItemText(i,2,str1);
var = theApp.m_pRecordset->GetCollect("售量");
if(var.vt != VT_NULL)
{
str2 = (LPCSTR)_bstr_t(var);
gsl += atoi(str2);
}
m_list.SetItemText(i,3,str2);
var = theApp.m_pRecordset->GetCollect("性质");
if(var.vt != VT_NULL)
str1 = (LPCSTR)_bstr_t(var);
m_list.SetItemText(i,4,str1);
if(FillDjwithRecrd(str1))
m_list.SetItemText(i,5,str);
var = theApp.m_pRecordset->GetCollect("金额");
if(var.vt != VT_NULL)
{
str1 = (LPCSTR)_bstr_t(var);
if(m_int3 == 0 )
{
if(atof(str1) == 0.0)
{
str3.Format("%.2f",atoi(str2)*atof(str));
strbz = str3;
strbz += "未";
}
else
{
str3 = (LPCSTR)_bstr_t(var);
strbz = str3;
}
}
if(m_int3 == 2 )
{
str3.Format("%.2f",atoi(str2)*atof(str));
strbz = str3;
strbz += "未";
}
if(m_int3 == 1 || m_int3==4)
{
str3 = (LPCSTR)_bstr_t(var);
strbz = str3;
}
je += atof(str3);
}
m_list.SetItemText(i,6,strbz);
i++;
theApp.m_pRecordset->MoveNext();
}
// 默认列表指向第一项,同时移动记录指针并显示
bl.Format("%s","合计:");
m_list.InsertItem(i,bl);
str3.Format("%d次",i);
bbrow = i;
m_list.SetItemText(i,1,str3);
str3.Format("%d户(%d分户)",inths,fhhs);
m_list.SetItemText(i,2,str3);
str3.Format("%d",gsl);
m_list.SetItemText(i,3,str3);
str3.Format("%.2f",je);
m_list.SetItemText(i,6,str3);
m_list.SetItemCount(0);
m_list.SetRedraw(TRUE);
m_list.Invalidate();
m_list.UpdateWindow();
if(i == 0)
m_btn2.EnableWindow(FALSE);
else
m_btn2.EnableWindow(TRUE);
SetRedraw(TRUE);
}
catch(_com_error *e)
{
MessageBox(e->ErrorMessage(),"提示",MB_ICONINFORMATION|MB_OK);
}
dazedase
2007-03-23
打赏
举报
回复
m_List.SetRedraw(FALSE);//<--!!提高响应速度
插入数据....
m_List.SetRedraw(TRUE);//<--!!恢复
jinxuliang
2007-03-23
打赏
举报
回复
使用虚拟表
不就快了
codeproject有文章
raymonzhao
2007-03-23
打赏
举报
回复
先将数据取出放在一个variant中,再用虚模式,设置值.应该没问题.
MFC操作Excel:ADO与OLE选型、连接串及避坑实战
在C++桌面开发
中
,MFC项目操作Excel是报表导出和数据导入的高频需求。开发者往往纠结于直接调用COM接口还是选择数据库访问方案。OLE自动化通过IDispatch调用Excel对象模型,能精细控制字体、边框、合并单元格,但需警惕进程残留;ADO/ODBC则把Excel当作轻型数据库,利用SQL语句快速读写,连接串
中
的Provider与Extended Properties是关键,ACE驱动决定了xlsx兼容性。理解这些底层原理,能帮助工程师在格式控制与批量数据吞吐之间做出合理权衡。实际工程
中
,无论是读
电动汽车集群并网的分布式鲁棒优化调度模型(Matlab代码实现)
内容概要:本文提出了一种针对电动汽车集群并网的分布式鲁棒优化调度模型,旨在应对大规模电动汽车接入电网所带来的不确定性与调度复杂性。该模型采用分布式优化框架,结合鲁棒优化理论,有效处理由用户行为、充电需求及可再生能源出力等多重不确定性因素引起的调度风险。通过构建考虑电池损耗、用户响应意愿及电网约束的多目标优化问题,实现了在保证电网运行安全与稳定的同时,最大化社
会
整体效益与用户参与积极性。文
中
详细阐述了模型的数学构建、求解算法及仿真验证过程,展示了该方法在降低峰值负荷、平抑负荷波动以及提升可再生能源消纳能力方面的显著优势。; 适合人群:具备一定电力系统、优化理论和MATLAB编程基础,从事智能电网、电动汽车调度、分布式能源管理等相关领域研究的研发人员和研究生。; 使用场景及目标:①为电力系统运营商提供高比例电动汽车接入场景下的鲁棒调度决策支持;②为学术研究人员提供分布式鲁棒优化在复杂能源系统
中
应用的典型案例与代码参考;③目标是提升电网韧性,优化资源配置,并促进电动汽车与电网的协同发展。; 阅读建议:此资源以MATLAB代码实现为核心,建议读者在学习时结合算法原理与代码细节,通过修改参数和场景设置进行仿真复现与结果分析,以深入理解分布式鲁棒优化的内在机制及其在
解决
实际工程问题
中
的应用价值。
shopee-fans-v8.7.5-production (1).zip
shopee-fans-v8.7.5-production (1).zip
DataPulse SCADA基础设备设施采集监控系统
DataPulse 采用 单体式部署、分层式设计 的技术架构。系统自下而上分为设备接入层、实时数据处理层、业务联动层、北向服务层与 Web 展示层;运行时采用多线程并发模型,采集线程与数据处理线程通过环形缓冲区以生产者-消费者方式解耦,告警联动基于进程内事件队列异步分发,并以
中
央内存实时表统一支撑 Web、Modbus、MQTT 三类访问通道。设备协议通过嵌入式 Python 脚本插件扩展,历史与配置数据分别存储于 SQLite 历史库与配置库。整体形态为一套面向边缘部署 SCADA 系统。可快速安装部署,完成对配电系统、UPS、消防、精密空调、温湿度、泄漏检测、门禁、视频等基础设施设备的采集和监控,支持短信、电话、邮件告警通知,支持各种可配置联动控制,可实现绝大部分
中
小型机房24小时无人值守功能。详见:https://blog.csdn.net/shjhuang/article/details/166993640?spm=1011.2124.3001.6209
PageIndex(Python)
「PageIndex(Python)」是开源项目(Python)。项目简介: PageIndex: Document Index for Vectorless, Reasoning-based RAG源码完整,下载解压即可查看使用,适合学习参考、课程设计与二次开发。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章