怪事,datagridview中的列显示顺序,与设计时的顺序不同?

xuexi_net1 2010-09-21 04:26:29
怪事,datagridview中的列显示顺序,与设计时的顺序不同?
---------------------------------
在设计界面上,编辑列,添加了所有列,并为每个列指定了对应数据表中的字段名,
然后运行时,用代码绑定

//按部门显示
private void showbybumen(string yf,string bm)
{
objgjj.GetGjjRecord(yf,bm,out mytable);
this.dataGrid1.DataSource = mytable;
lbljlts.Text = "记录条数:" + mytable.Rows.Count.ToString();

}

其中,mytable 是一个 datatable 对象。
这样操作是对的,所有列都能取到,但是datagridview中列的顺序与设计时不一样。真是怪了。
我找不到原因在哪里,从第7列就开始不一样了。
...全文
1166 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38938062 2021-07-20
  • 打赏
  • 举报
回复

尝试在页面的load方法里加一个这个属性的设置:
dataGridView8.AutoGenerateColumns = false;

killerkg007 2021-07-03
  • 打赏
  • 举报
回复

dgv.DataSource = ds.Tables[0].DefaultView;
ds里的字段与dgv里的字段不一致导致的

Pcct000 2012-06-14
  • 打赏
  • 举报
回复
我跟LZ遇到的情况一样,但不知道我的方法你用得能不能解决,我是这样解决的:
所有 DataTable 里 输出的字段都 要在 datagridview 设计里有对应的字段,包括 要隐藏的id列,默认列Visible 设置为False ,顺序就正确了,可以试下~
yqygreat 2012-04-19
  • 打赏
  • 举报
回复 1
datagridview1=null;//先置空
datagridview1.datasource=dt; //再重新绑定
Kin5744183 2010-09-21
  • 打赏
  • 举报
回复
由于DATAGRIDVIEW内置自动排列数据列,你可以通过datagridview.autocolumns...,这个属性以auto什么columns的,完整属性名称我就想不起来,你可以试下,这样就会根据你设计时列顺序排列了
likedefly 2010-09-21
  • 打赏
  • 举报
回复
是先绑定DatagridView,还是先设置字段?这会对字段显示顺序产生影响
让爱延续 2010-09-21
  • 打赏
  • 举报
回复
我遇到过这种情况 在server 2000操作系统下、显示的列的顺序与设计器中的顺序不一致。

在DGV中 还有个 dispalyindex 属性呢,加个监视 、观察一下。
xuexi_net1 2010-09-21
  • 打赏
  • 举报
回复
我想问,datatable 的字段 与 datagridview的列,必须要一一对应呢?
数量一样多,顺序一模一样。
xuexi_net1 2010-09-21
  • 打赏
  • 举报
回复
是这样,
以下是例子

我的select 语句是这样的
select autoid,编号,姓名,公积金,备注 from 公积金表

即有 5 个字段,但是我不想显示出 autoid 列,所以我的 datagridview,我添加了4列,分别是

编号,姓名,公积金,备注

这样显示后,顺序就出错了。

我添加了一列 autoid,把这一列放在最左边, 就正常了。
可是我不想让 datagridview 中有 autoid 这一列呀。这一列不用显示,是保证惟一性用的,与显示无关,所以我不想显示在datagridview中
li12403074 2010-09-21
  • 打赏
  • 举报
回复
绝对是哪里错了,不是列名绑定弄错了,就是查询的时候有2列字段用一样的了!

Z 自己没搞清楚, 也说不清楚 ,我们只能猜了1
kj289907795 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 kj289907795 的回复:]
LZ 自己没搞清楚, 也说清楚的
[/Quote]
LZ 自己没搞清楚, 也说不清楚
kj289907795 2010-09-21
  • 打赏
  • 举报
回复
LZ 自己没搞清楚, 也说清楚的
likedefly 2010-09-21
  • 打赏
  • 举报
回复
用的是VS自带的控件还是第三方的?
shuai13869896140 2010-09-21
  • 打赏
  • 举报
回复
应该是看存储过程中的顺序是否和你需要的一样 而不是去看dt or dv的顺序```
就是你select [] [] [] [] [] [] [] 各个的参数 是否正确
fafasun 2010-09-21
  • 打赏
  • 举报
回复
datagridview有个不自动生成列的属性,有没有设FALSE
xuexi_net1 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jsnjlhb 的回复:]

是不是你mytable中字段名跟datagridview中的列名绑错了啊
[/Quote]
为了清楚 ,再说一次吧,
列名绝对没有绑错,但是 datagridview 中的列名,确实比 datatable 中的字段少,因为有些字段,我不想显示出来,所以没有添加这些列到 datagridview 中。
ajq1989 2010-09-21
  • 打赏
  • 举报
回复
按DataTable 的顺序吧
xuexi_net1 2010-09-21
  • 打赏
  • 举报
回复
但是有些列,datatable中需要,但是不想显示到 datagridview 中,所以存在顺序不一样的情况,

其实顺序对,就是 datagridview中的列,比 datatable 中的字段少,这样不行吗?

有些列不需要,也不能显示在datagridview中呀,比如 自增列,比如一些隐藏的标志。
kj289907795 2010-09-21
  • 打赏
  • 举报
回复
你绑定中文字段名 也要按照这个顺序
kj289907795 2010-09-21
  • 打赏
  • 举报
回复
select 出的 绑到 datatable ,datatable 的顺序就是 datagridview 的顺序

加载更多回复(3)
内容概要:本文围绕“空地多无人平台协同路径规划技术”的论文复现展开,重点介绍了基于Matlab的多无人机与地面无人平台协同路径规划的算法实现与仿真研究。研究系统性地整合了无人机三维路径规划、动态避障、多机协同、任务分配及防撞机制等核心技术,结合智能优化算法(如遗传算法、粒子群算法、灰狼优化算法等)与经典路径规划模型(如Dubins路径、A*、RRT等),在复杂威胁环境下实现了高效、安全的协同路径规划。文提供了完整的Matlab代码支持,便于科研人员进行算法验证、性能对比与二次开发,并强调通过复现高水平学术论文(如EI、SCI期刊及硕博论文)深入掌握该领域的前沿方法与技术路线。; 适合人群:具备一定Matlab编程基础,从事无人机系统、自动化控制、人工智能、路径规划等相关领域研究的研究生、科研人员及工程技术人员,尤其适用于正在开展科研项目、撰写学位论文或希望提升算法实践能力的研究者。; 使用场景及目标:① 复现并深入理解空地协同路径规划领域的高水平论文算法;② 掌握Matlab在多智能体路径规划的建模、仿真与可视化方法;③ 应用于科研课题、毕业设计、项目申报及算法创新实践,提升研究的技术深度与工程可行性。; 阅读建议:建议结合文提供的网盘资源(含完整代码、仿真模型及参考文献资料)同步学习,优先选择与自身研究方向契合的案例进行复现,注重算法原理与代码实现之间的映射关系,并在掌握基础方案后尝试进行参数调优、算法融合或引入新约束条件以实现改进与创新。

111,129

社区成员

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

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

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