社区
界面
帖子详情
在用listctrl控件中,如果数据量很大,就会造成机器很慢或死机,有没有别的办法解决 ?
yuanl
2007-03-23 10:39:41
在用listctrl控件中,如果数据量很大,就会造成机器很慢或死机,有没有别的办法解决 ?
...全文
470
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中,再用虚模式,设置值.应该没问题.
电力系统基于萤火虫算法FA的太阳能风能水力混合抽水蓄能系统(Matlab代码实现)
内容概要:本文围绕基于萤火虫算法(FA)的太阳能、风能与水力混合抽水蓄能系统的优化建模与仿真展开研究,提出了一种融合多源可再生能源与抽水蓄能技术的综合能源系统协调运行策略。通过Matlab平台实现了系统建模、智能优化算法设计与仿真验证全过程,重点
解决
了风光水多能源出力波动性强、系统供电可靠性低等问题。采用萤火虫算法对储能调度、能量管理与运行经济性进行优化,有效提升了系统对可再生能源的消纳能力和平滑输出性能,同时兼顾运行成本与稳定性。研究涵盖了从数学建模、目标函数构建、约束条件处理到多能互补协调机制的设计,提供了完整的代码实现方案,具有较强的科研复现价值与工程应用前景。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事新能源系统优化设计的工程技术人员。; 使用场景及目标:①用于高校或科研机构开展可再生能源集成与储能优化调度相关课题研究;②支撑高水平论文撰写与智能优化算法(如萤火虫算法)在综合能源系统
中
的应用复现;③为实际电力系统
中
多能互补项目、微电网能量管理系统的设计与仿真提供方法论与工具支持。; 阅读建议:建议读者结合文
中
提供的Matlab代码与可能的Simulink模型,逐步调试运行,深入理解算法实现细节与系统建模逻辑;同时关注优化目标函数的设定、约束条件处理及多能源协调机制,以提升自身在能源系统优化领域的建模与创新能力。
普
中
51-A2开发板资料.7z
源码下载地址: https://pan.quark.cn/s/7f242081e14c 标题 "普
中
51-A2开发板资料.7z" 提供的信息表明,这是一个与普
中
51-A2开发板相关的资源包。 51单片机是微控制器领域
中
的一个经典系列,STC-89C52是51系列
中
的一个型号,常用于教学和入门级项目。 这个压缩包可能包含了一系列帮助用户理解和使用该开发板的材料。 描述
中
的"SHA256: B889D6FE71BF1CB25C67D57BE0854787F4D6902B20E2A1AF8FC9DEB66F4C7827"是文件的哈希值,用于验证文件的完整性和未被篡改,但具体知识点不在此范围内。 从标签来看,我们可以期待以下内容:1. **普
中
51-A2开发板**:这是一款基于51单片机的开发工具,可能包括硬件电路图、原理图、PCB设计文件等。 2. **STC-89C52**:这是51单片机的一个变种,具有增强的特性,如更多的I/O口、更大的内存等。 资料可能包含其数据手册、引脚定义、编程指南等。 3. **开发板**:可能包含开发板的使用手册、接线教程、初始化设置步骤等。 4. **51单片机**:基础理论、指令集、编程语言(如汇编或C语言)、
中
断系统、定时器/计数器的使用等。 5. **开发工具**:可能有Keil、Proteus、ISP编程软件等,这些工具用于编写、调试和烧录代码到单片机
中
。 从压缩包子文件的文件名称列表来看,我们可以深入学习以下内容:1. **普
中
51单片机开发攻略--A2.pdf**:这可能是开发板的用户指南或教程,涵盖基本操作、示例项目和常见问题解答。 2. **5--开发工具.rar**:可能包含开发环境的安装教程、配置指南和使用技巧。 3. **5--实验程序....
光伏储能单相逆变器并网仿真模型(Simulink仿真实现)
内容概要:本文详细介绍了一种基于Simulink的光伏储能单相逆变器并网仿真模型,系统涵盖了光伏阵列、储能单元、DC-AC单相逆变器及并网接口的完整结构,重点实现了储能环节的能量管理与逆变器并网控制策略的建模仿真。通过Simulink平台构建系统模型,验证了逆变器输出电能质量、并网稳定性以及控制系统的动态响应性能,采用SPWM调制、PI闭环控制等关键技术,确保并网电流与电网电压同频同相,满足并网电能质量要求。该模型不仅可用于分布式能源系统的仿真研究,还可作为新能源并网技术的教学与工程实践工具。; 适合人群:电气工程、自动化、新能源科学与工程等相关专业的高校本科生、研究生、科研人员,以及从事光伏发电系统设计、储能控制与并网技术研发的工程技术人员。; 使用场景及目标:①深入理解光伏储能系统
中
能量转换、存储与并网控制的整体工作原理;②支持课程设计、毕业设计或科研项目
中
对单相逆变器控制策略(如SPWM、PI调节、锁相技术等)的仿真验证与参数优化;③为后续研究更复杂的控制算法(如MPPT、低电压穿越、谐波抑制等)提供可扩展的仿真基础平台。; 阅读建议:建议结合MATLAB/Simulink环境动手搭建与调试模型,逐步理解各模块(如光伏建模、储能充放电控制、逆变器驱动、锁相环、PI调节器等)的功能与交互关系,重点关注控制系统的设计逻辑与参数整定过程,并可通过修改负载条件或电网参数测试系统鲁棒性,为进一步拓展至三相系统或多机并网场景奠定基础。
Makefile自动化编译实战项目
Demo2 - 多文件与静态库示例 构成: - `main.c` - 程序入口,调用 `utils` 库函数 - `utils.c`, `utils.h` - 工具函数(greet, add) - `Makefile` - 演示如何先生成静态库 `libutils.a`,再链接生成可执行文件 使用: - 编译: `make`(
会
生成 `libutils.a` 和 `app`) - 运行: `make run` 或 `./app Alice` - 清理: `make clean` 此示例展示如何在 Makefile
中
构建静态库并链接。适合需要把代码拆分为库与可执行程序的场景。
六挡手动齿轮变速器设计【说明书、CAD图纸、 开题报告、任务书 ……】.rar
六挡手动齿轮变速器设计【说明书、CAD图纸、 开题报告、任务书 ……】.rar
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章