当前位置:编程学习 > C#/ASP.NET >>

usercontrol 中包含两个DataGridView,不能添加相同的数据列?

用VS2008做的winform程序,用UserControl包含两个DataGridView做一个带统计功能的自定义控件,上面一个表dgvMain显示数据,下面一个表dgvSum显示统计值。如果对datagridview使用自动生成列AutoGenerateCoulumn=true,编译后放别的XP下运行时列序与数据库中表不一致,如果在程序中手工写代码添加列,dgvMain.Columns.Add(...)...,则dgvMain和dgvSum不能同时添加相同的列,只好将dgvSum的AutoGenerateCoulumn设为true,这时放别的XP下运行时,dgvSum仍然乱序。哪位达人高手指点如何解决问题。 --------------------编程问答-------------------- AutoGenerateColumns = false 时,需要手动添加DataGridView的列
...
DataGridViewColumn col = new DataGridViewColumn();
col.HeaderText = "名称";
col.Name = "name";
col.DataPropertyName = "name"; // 绑定的字段名
this.dataGridView1.Columns.Add(col);
--------------------编程问答-------------------- --------------------编程问答-------------------- 问题是我的usercontrol中的2个dataGridView不能同时添加同一个列
DataGridViewColumn col = new DataGridViewColumn();
col.HeaderText = "名称";
col.Name = "name";
col.DataPropertyName = "name"; // 绑定的字段名
this.myUserControl.Columns.Add(col);//在userControl中将dgvMain的Columns定义为Columns
this.myUserControl.SumColumns.Add(col);//在userControl中将dgvSum的Columns定义为SumColumns,结果程序运行到此会报错,意思是添加了重复列。 --------------------编程问答-------------------- --------------------编程问答-------------------- 我最终明白我的问题出在哪里了,正确的做法应该是
this.myUserControl.Columns.Add(col);
DataGridViewColumn col1 = col.Clone();
this.myUserControl.SumColumns.Add(col1);
补充:.NET技术 ,  组件/控件开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,