C# Winfrom的datagridview控件问题;问题概述:在一个界面中已经有一个已绑定了数据源的datagridview简称Dgv1,还有一个datagridview是一个无任何数据的为空的datagridview简称Dgv2,我要求通过自己程序中判断后能从Dgv1中将指定的某一列完全赋值给Dgv2;赋值要求是该列的所有数据,包括headtext等;
这是我的代码
for (int i = 0; i < this.DataGvw.Columns.Count; i++)
            {
                Value = this.DataGvw.Columns[i].HeaderText;  //得到列的文本头文件(列名)
                for (int k = 0; k < dt.Rows.Count; k++)
                {
                    if (Value == dt.Rows[k][0].ToString()) //如果列的文本头文件名和BkInfo_Sz表的Colun_Name的值一致
                    {
                        Ck_Value = dt.Rows[k][1].ToString();
                        if (Ck_Value == "True") //如果Print_Check的值等于True
                        {
                                                        this.dataGridView1.Columns.Add(this.DataGvw.Columns[i]); //将这一列添加到datagridview1的列集合中
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
其中这一句
 this.dataGridView1.Columns.Add(this.DataGvw.Columns[i]);
意思就是将dgv1中指定的一列新增到dgv2的列集合中去;
运行程序后,触发时间后提示 C# Winfrom的datagridview控件问题;问题概述:在一个界面中已经有一个已绑定了数据源的datagridview简称Dgv1,还有一个datagridview是一个无任何数据的为空的datagridview简称Dgv2,我要求通过自己程序中判断后能从Dgv1中将指定的某一列完全赋值给Dgv2;赋值要求是该列的所有数据,包括headtext等;
这是我的代码
for (int i = 0; i < this.DataGvw.Columns.Count; i++)
            {
                Value = this.DataGvw.Columns[i].HeaderText;  //得到列的文本头文件(列名)
                for (int k = 0; k < dt.Rows.Count; k++)
                {
                    if (Value == dt.Rows[k][0].ToString()) //如果列的文本头文件名和BkInfo_Sz表的Colun_Name的值一致
                    {
                        Ck_Value = dt.Rows[k][1].ToString();
                        if (Ck_Value == "True") //如果Print_Check的值等于True
                        {
                                                        this.dataGridView1.Columns.Add(this.DataGvw.Columns[i]); //将这一列添加到datagridview1的列集合中
                        }
                    }
                    else
                    {
                        break;
                    }
                }
            }
其中这一句
 this.dataGridView1.Columns.Add(this.DataGvw.Columns[i]);
意思就是将dgv1中指定的一列新增到dgv2的列集合中去;
运行程序后,触发时间后提示:提供的列已属于datagridview控件

解决方案 »

  1.   

    取出数据 生成一个Datatable,再绑到DV2
      

  2.   

    呵呵,和我的想法一样,但是我要的可能是datatgridview中的其中几列,另外几列不要;
      

  3.   

    肯定的要出错,你不可以添加已绑定数据的Datagridview,只可读其数据写入新Cell。
      

  4.   

    悲催啊,我重写了下代码,将Dgv1转换成datatable,同时也创建一个新的datatable对象用来存放绑定给Dgv2的数据;我通过循环和条件得到需要存放在Dgv2的列,并且将那一列新增到新的datatable.columns(用来存放绑定给Dgv2的数据表),但是运行程序后报“列“XX”已经属于另一个datatable”