高分求解,datagrid分页以后更新问题?

softice111 2008-03-24 04:01:20
从数据源抽出数据大概(1000行),在前台分页显示,经过操作处理以后,向数据库更新或插入另外一张表,
现在遇到问题:
1。分页以后datagrid.Items.Count的长度就当前页的长度了,根本不是我想要的(1000行),我怎么样才能取到第2页到第N页的数据呢?

2。经过操作处理以后,向数据库更新或插入另外一张表,现在的想法是写循环 一条一条的从datagrid读取数据,然后再与系统数据库比较(看更新还是插入),这样做效率十分低,各位有什么好的思路没有?








...全文
179 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
anheizhizi 2008-03-24
  • 打赏
  • 举报
回复
提交时将原数据与现数据进行比较,改变过的记录生成SQL执行
nyzfl 2008-03-24
  • 打赏
  • 举报
回复
1。分页以后datagrid.Items.Count的长度就当前页的长度了,根本不是我想要的(1000行),我怎么样才能取到第2页到第N页的数据呢?
1000行这个数字是你从数据库读出来的。取第2页到第n也的数据,第1页是怎么取的??

2。经过操作处理以后,向数据库更新或插入另外一张表,现在的想法是写循环 一条一条的从datagrid读取数据,然后再与系统数据库比较(看更新还是插入),这样做效率十分低,各位有什么好的思路没有?
为什么循环,当用户操作一条数据时,更新或插入另外一张表。
cainiao116 2008-03-24
  • 打赏
  • 举报
回复
你在dataGrid中修改数据是怎样实现的?
用的自带的编辑列? 那介意你最好是修改一个更新一个。。。。

如果没做记录的话,你分页以后dataGrid是不会记录其他页的内容的,因为每次分页都有一个数据绑定的过程。。。

可以一个一个编辑更新或一页一页的更新。。你可以在它分页的时候自动对修改的更新。。

如果一定要一次性更新的话, 我建议就是每次分页都记录下当前页修改的数据存到一个临时表中,最后更新的时候对应当前页数据和临时表来实现对数据的更新。

yb1124 2008-03-24
  • 打赏
  • 举报
回复
数据源是DataSet吗
如果是的话
DataSet ds=datagrid.DataSource as DataSet;
int count=ds.Tables[0].Rows.Count;
获得行数
softice111 2008-03-24
  • 打赏
  • 举报
回复
自己写的分页函数 还是一样只能取到,当前datagird的最大行数,我现在想的是,我只看到了第一页,但是我在更新数据库的时候,更新了所有的数据哦 (从第一页到最后一页)
maxiuxiaoxia 2008-03-24
  • 打赏
  • 举报
回复
同意楼上的 取得分页数据后刷新
blackField 2008-03-24
  • 打赏
  • 举报
回复
使用.NET中自带的DataView排序和索引来获取你想要的数据,然后绑定到datagrid1上
可以参考以下代码的写法:

//获取原始数据
DataSet ds = GetMyData();
DataView dv =ds.Tables[0].DefaultView;
//按ID降序排列
dv.Sort = "order by id desc";
//根据条件获取第100~200条记录作为第二页要显示的内容
dv.RowFilter = "where id>100 and id<200";
//更新数据视图并绑定到datagrid1控件
datagrid1.DataSource = dv.ToTable().DefaultView;

建议:最好使用存储过程来实现数据分页功能
Smartdoggie 2008-03-24
  • 打赏
  • 举报
回复
2。经过操作处理以后,向数据库更新或插入另外一张表,现在的想法是写循环 一条一条的从datagrid读取数据,然后再与系统数据库比较(看更新还是插入),这样做效率十分低,各位有什么好的思路没有?

写个存储过程吧,充分利用数据库的大数据拷贝加速机制……从数据库读到内存中,然后再写到数据库中,即使是不用判断插入或更新,效率仍然很低
endersun 2008-03-24
  • 打赏
  • 举报
回复
datagrid自带分页,datagrid.Items.Count只能得到当前页的数据记录总数.
自己写个分页函数吧
用隐藏控件放记录ID来判断是更新还是插入吧,如果存在ID值则为更新,否则为插入新值
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 ### HSMS/SEMI通讯E37说明书中文关键知识点 #### 一、HSMS概述 - **HSMS**(High-Speed SECS Message Service)是一种专为半导体工厂内部计算机之间进行高速消息传输而构建的通信标准。该标准旨在逐步取代原有的SEMIE4(SECS-I)和SEMIE13(SECS Message Service),特别是在需要高速数据交换或简单的点对点拓扑结构无法满足实际需求的情况下。 - HSMS的核心宗旨在于提供一种机制,使来自不同制造商的设备能够达成无缝对接和互操作状态,即便这些设备在设计理念和通信机制上存在显著差异。 - HSMS不仅适用于TCP/IP优先于OSI模型的应用环境,同时也能作为SEMIE4和SEMIE13的有效替代方案。 #### 二、HSMS的应用范围 - HSMS主要部署于半导体制造业中的计算机系统之间进行消息交换的场景,如自动化生产线、设备监控系统等。 - 该标准界定了通信接口,使得半导体工厂内的各类设备能够实现高效且可靠的数据传输。 #### 三、HSMS与其他标准的关系 - **SEMIE4 (SECS-I)**:规定了消息传输的基本规则和格式。 - **SEMIE5 (SECS-II)**:明确了消息的具体内容和结构。 - **IETF Documents**: - RFC791 - Internet协议 - RFC792 - Internet控制消息协议 - RFC793 - 传输控制协议 - RFC1120 - Internet主机通信层的要求 - RFC1340 - 指定号码 - **POSIX D...
内容概要:本文系统研究了虚拟同步发电机(VSG)的惯量-阻尼协同自适应并网控制策略,旨在提升微电网在并网过程中的频率稳定性与动态响应能力。通过Simulink搭建VSG控制模型,结合Matlab实现算法仿真,深入分析了惯量与阻尼参数的自适应调节机制,并融合黑启动、预同步控制、虚拟阻抗等关键技术,有效增强了系统在电网频率波动下的鲁棒性与功率分配均衡性。研究不仅构建了完整的VSG双机并联仿真平台,还验证了所提控制策略在微电网黑启动、并网切换及负载突变等典型工况下的可行性与优越性,为新能源并网系统的稳定性控制提供了理论依据与技术支撑。; 适合人群:具备电力系统、自动化、电气工程等相关专业背景,熟悉Matlab/Simulink仿真环境,从事新能源并网、微电网控制、虚拟同步机技术、电力电子与电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握虚拟同步发电机的核心控制原理及其在微电网中的应用;②学习惯量与阻尼参数的协同自适应调控方法,提升系统频率响应性能;③通过Simulink搭建双机并联VSG系统,完成黑启动、预同步、功率均分等关键过程的仿真验证;④为科研论文复现、课题设计或实际工程项目提供可复用的模型与算法参考。; 阅读建议:建议读者结合文中所述仿真模型与代码资源,按照控制策略的设计流程逐步实践,重点关注参数整定、控制环路设计及系统稳定性判据的分析。推荐关注公众号“荔枝科研社”获取完整资料包,以便深入理解并拓展至更复杂的多源协同控制场景。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧