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

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

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








...全文
140 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值则为更新,否则为插入新值

62,046

社区成员

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

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

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

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