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

提问:DataGridView 控件中至少有一列没有单元格模板

我想自定义datagridview列,然后把列跟datasource内特定的列想关联,运行到d1.DataSource = gv_ds.Tables[0];是跳出异常"DataGridView 控件中至少有一列没有单元格模板",请高人指点下(页面上就拖上去了个datagridview控件,什么也没做)


private void Filldgv(string sqlstr)
        {
            //sqlstr="select ID from tcontract"
            gv_ds = util.SalesData.m_Dbprocess.OpenBySql(sqlstr);

            DataGridViewColumn testcol = new DataGridViewColumn(new DataGridViewTextBoxCell());
            testcol.HeaderText = "n易做图est";
            testcol.Name = "nhj";
            d1.Columns.Add(testcol);
            d1.Columns["nhj"].DataPropertyName = "ID";
            d1.DataSource = gv_ds.Tables[0];
            } --------------------编程问答-------------------- 自己顶下先 --------------------编程问答-------------------- d1.databind(); --------------------编程问答-------------------- .CellTemplate=new DataGridViewTextBoxCell() ;  --------------------编程问答-------------------- 哈哈,一个小误区,你看看设计窗体生成的代码,DataGridView的列不是GridViewColumn 而是DataGridViewTextBoxColumn
你只要添加这个类型的对象就可以了,我也是饶了好久才绕出来 --------------------编程问答-------------------- 或许是我无知,或许是微软愚弄人吧,我既然把datagridview列设置为DataGridViewTextBoxColumn ,还要有GridViewColumn 很容易走入误区的。 --------------------编程问答-------------------- 高人解释一下吧 --------------------编程问答-------------------- private   void   Filldgv(string   sqlstr) 
                { 
                        //sqlstr= "select   ID   from   tcontract " 
                        gv_ds   =   util.SalesData.m_Dbprocess.OpenBySql(sqlstr); 

                        DataGridViewTextBoxColumn    testcol   =   new   DataGridViewTextBoxColumn(); 
                        testcol.HeaderText   =   "n易做图est "; 
                        testcol.Name   =   "nhj "; 
                        d1.Columns.Add(testcol); 
                        d1.Columns[ "nhj "].DataPropertyName   =   "ID "; 
                        d1.DataPropertyName   =  "field"//数据库中字段的列名
                        } --------------------编程问答-------------------- private  void  Filldgv(string  sqlstr) 
                { 
                        //sqlstr= "select  ID  from  tcontract " 
                        gv_ds  =  util.SalesData.m_Dbprocess.OpenBySql(sqlstr); 

                        DataGridViewTextBoxColumn    testcol  =  new  DataGridViewTextBoxColumn(); 
                        testcol.HeaderText  =  "n易做图est "; 
                        testcol.Name  =  "nhj "; 
                        d1.Columns.Add(testcol); 
                        d1.DataPropertyName  =  "field"//数据库中字段的列名 
                        } --------------------编程问答-------------------- 找了很久 这个帖子真正解决了问题 --------------------编程问答-------------------- 顶一下 --------------------编程问答-------------------- yuu
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,