C# Winform程序 数据随意调整顺序,如何实现?数据库如何设计?

lkf181 2019-02-18 11:43:50
包括数据库 应该如何设计呢 ?我有一些初步的想法:写出来大神们看看 感觉不太好,看看有什么更好的算法,或者方法?
数据库设计:
ID Name Sort
1 Tom 1
2 Jerry 2
3 AAA 3
4 BBB 4
5 CCC 5
显而易见:ID是自增的数据库ID Sort 是专门为排序设计的,我想用dataGridView1来呈现数据,并且实现右键排序,(甚至鼠标拖动排序):如图:


我现在有的一点思路是:可以用SQL语句的ORDER BY查询 我喜欢把数据载入 List<T> 然后用OrderBy 或者linq语句处理?然后将整个DataTable更新到数据库? 好像不太好吧?


我现在没想明白的点:
1.每条数据的Sort字段,如何操作,应该有个算法吧?
2.dataGridView1能否实现每条数据的拖动排序?
...全文
249 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chasmれ 2019-02-19
  • 打赏
  • 举报
回复
交换两行的index或者数据
正怒月神 2019-02-19
  • 打赏
  • 举报
回复
你在数据库加一个sort字段, 每次取出来按照sort排序。 至于实现,这个根本谈不上算法。 反正你没有拖动的 无论上移还是下移,按照下标,重新生成一下sort就好了。
小黑哥gs 2019-02-19
  • 打赏
  • 举报
回复
BS做过,记录排序字段,并记录升序还是降序,然后右击触发,数据库查询
圣殿骑士18 2019-02-19
  • 打赏
  • 举报
回复
然后将整个DataTable更新到数据库? 好像不太好吧?

==
不是不太好。就应该这么做。

但似乎大多数用DataTable的人,都不知道DataTable整体提交怎么实现?多数人还是做个循环,逐个提交update语句。其实DataTable有强大的行和列的修改标记功能,自动生成sql。那就是传统时代的EF的Context。

==========
欢迎关注微信公众号 “产品技术知与行” ,打造全面的结构化知识库,包括原创文章、免费课程(C#,Java,Js)、技术专题、视野知识、源码下载等内容。
最新文章:多种Timer的场景应用 https://mp.weixin.qq.com/s/TJKi7PBj3nznf9FClirXUA



110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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