
winform 中DataGridView列的顺序问题
我的Model类和DataGridView(ID为dgv1)绑定列如下图所示:现在我新添加一个DataGridView(ID为dgv2)并在dgv1的绑定成功事件中写如下...
我的Model类和DataGridView(ID为dgv1)绑定列如下图所示:
现在我新添加一个DataGridView(ID为dgv2)并在dgv1的绑定成功事件中写如下代码
private void dgv1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
if (dgv2.ColumnCount <1)
{
for (int m = 0; m < dgv1.ColumnCount; m++)
{
DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.Name = dgv1.Columns[m].Name;
column.HeaderText = dgv1.Columns[m].Name; dgv2.Columns.Add(column);
}
}
if (dgv2.RowCount < 1)
{
dgv2.Rows.Add();
}
}
dgv2显示出来的列的顺序如图,这里Age和Address的顺序出错了。
怎么搞? 展开
现在我新添加一个DataGridView(ID为dgv2)并在dgv1的绑定成功事件中写如下代码
private void dgv1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
if (dgv2.ColumnCount <1)
{
for (int m = 0; m < dgv1.ColumnCount; m++)
{
DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.Name = dgv1.Columns[m].Name;
column.HeaderText = dgv1.Columns[m].Name; dgv2.Columns.Add(column);
}
}
if (dgv2.RowCount < 1)
{
dgv2.Rows.Add();
}
}
dgv2显示出来的列的顺序如图,这里Age和Address的顺序出错了。
怎么搞? 展开
4个回答
展开全部
在初始化时设置DataGridView的AutoGenerateColumns属性为False
最好在Form_Load()事件里设置
最好在Form_Load()事件里设置
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经...
点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
展开全部
你用dgv2.Columns.Insert()方法,插入时将index设置成你要显示的顺序
dgv2.Columns.Insert(m,column);
dgv2.Columns.Insert(m,column);
更多追问追答
追问
该方法我也试过了 ,还是不行,
DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.Name = dgv1.Columns[m].Name;
column.HeaderText = dgv1.Columns[m].Name;
这里中dgv1.Columns[m]中的顺序好像就是实体类中的顺序,并不是dgv1的编辑列的顺序,所以如果是从dgv1.Columns[m]中拿出来的话,不管是dgv2.Columns.Add()还是dgv2.Columns.Insert()都是一样。
追答
那你就按你想要的顺序插入Index的值呗,比如:Id时index=0;Name时index=1;Address时index=2;
Age时index=3;,,,,在插入时判断一下当前等到的是Id或是Name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把student 类里面字段Age和Address换一下试试,因为dgv2和它是一致的。
另外,dgv1的显示和编辑列的顺序一致吗?还是和dgv2(student 类)的显示字段一致?
另外,dgv1的显示和编辑列的顺序一致吗?还是和dgv2(student 类)的显示字段一致?
追问
dgv1的显示和编辑列的顺序是一致的。
现在的问题是如何使dgv2和dgv1的顺序一致,而不受student类的影响
追答
如果可以让“dgv2和dgv1的顺序一致,而不受student类的影响”固然好,但是如果“把student 类里面字段Age和Address换一下”也可以解决问题,不是也很好吗?
让“dgv2和dgv1的顺序一致”还有一个办法,就是不要用人为的方式给dgv1添加字段,List list = new List(); 然后指定dgv1.DataSource为list
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个很简单啊,在编辑列排啊,↑↓不是可以调整你数据的位置吗?把Age移上去就好了
追问
要是有这么简单就好了····
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询