C# DataGridView 设计中的各列与运行时的列不一致? 会自动安排,应设置什么?

原次序:Plant,eName,eTime,eDiffer,SetTime,index=0,1,2,3,4运行后:Plant,eName,SetTime,eTime,eD... 原次序:Plant, eName,eTime,eDiffer,SetTime, index=0,1,2,3,4

运行后:Plant,eName,SetTime,eTime,eDiffer, 且各index也会任意变化
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
xy404750389
2013-05-30 · TA获得超过505个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:148万
展开全部
看下你初始化datagridview的代码
更多追问追答
追问
refreshDataGridView()
{
Rows.Clear();
Columns[0].DataPropertyName = null;
:
DataSource = null;
Refresh();
bS1.Clear();
//计算
Rows.Clear();
Columns[es[0]].DataPropertyName = "Plant";
:
DataSource = bS1;Refresh();
}
追答
bs1的字段顺序检查一下 
绑定数据顺序应该是先清空数据源 DataSource = null;

然後清空rows Rows.Clear();

然後重新绑定数据源 DataSource = bS1;

最後才是设置datagridview的显示列头名

这样datagridview的列显示顺序是和数据源bS1中字段顺序一样的,如果你要datagridview列显示顺序不一样,你就要给datagridview初始化columns,先设置表头
然後添加行数据
遍历bS1
for (int i=0;i<bs1.rows.count;i++)
{
datagridviewrow dr=new datagridviewrow();
refreshDataGridView.rows.add(dr);

refreshDataGridView.rows[refreshDataGridView.rows.count-1].cell[0]=bs1.rows[i]["字段名"].tostring();
}

这种方法将数据放入datagridview,不能数据绑定的方法了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式