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

Winform 中DataGridView如何公开Columns属性

各位大侠,大家好。
    我想做一个用户控件,上面有个DataGridView数据控件,我想公开Columns属性   如下:   [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        public DataGridViewColumnCollection Columns
        {
            get
            {
                return dataGridView1.Columns;
            }
        }
但是在界面编辑Columns属性的时候报: DataGridView 控件中至少有一列没有单元格模板。
请教大家,这个怎么解决,谢谢。
前提:不继承DataGridView. --------------------编程问答--------------------
public class DataGridViews:DataGridView
{

  private DataGridViewColumnCollection _colums;
  public DataGridViewColumnCollection Columns
  {
  set
  {
  this.Columns=_colums;
  }
  get
  {
   return this.Columns;
  }
}
}
--------------------编程问答--------------------
引用 1 楼 tsapi 的回复:
C# code
public class DataGridViews:DataGridView
{

  private DataGridViewColumnCollection _colums;
  public DataGridViewColumnCollection Columns
  {
  set
  {
  this.Columns=_colums;
  }
  ……
+ --------------------编程问答-------------------- 调试看是哪一列,如果是自动自成的编辑按钮那种就很正常 --------------------编程问答-------------------- Tsapi 你好 我的意思是不继承DataGridView的前提下 怎么实现啊 呵呵  --------------------编程问答--------------------
引用 1 楼 tsapi 的回复:
C# code
public class DataGridViews:DataGridView
{

  private DataGridViewColumnCollection _colums;
  public DataGridViewColumnCollection Columns
  {
  set
  {
  this.Columns=_colums;
  }
  ……



你好Tsapi  我的前提是不继承DataGridView 怎么实现啊 谢谢 --------------------编程问答-------------------- modify设为public,然后把它定义改为static,就行了。 --------------------编程问答--------------------
  public static System.Windows.Forms.DataGridView dataGridView2;

               dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
             dataGridView2.Location = new System.Drawing.Point(430, 12);
             dataGridView2.Name = "dataGridView2";
             dataGridView2.RowTemplate.Height = 23;
             dataGridView2.Size = new System.Drawing.Size(240, 150);
             dataGridView2.TabIndex = 5;

   this.Controls.Add(dataGridView2);//如上修改就行了,静态的公共的
--------------------编程问答--------------------
引用 7 楼 tsapi 的回复:
C# code
  public static System.Windows.Forms.DataGridView dataGridView2;

               dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.Aut……

你好 我试了一下 会报错啊 我是菜鸟 可能什么地方没设置对 能否给我发个例子 谢谢
463963535@qq.com --------------------编程问答-------------------- 我的意思是,你拖拽一个dataGridView控件到窗口,然后去他的designer.CS文件里面找到这个控件,把private改为public static。把this.dataGridView前面的this去掉,就ok了!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,