首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 怎么手動添加DataGridViewRow到DataGridView

2012-02-08 
C# 如何手動添加DataGridViewRow到DataGridViewC# codeSortableBindingListImportUseableInfo models

C# 如何手動添加DataGridViewRow到DataGridView

C# code
SortableBindingList<ImportUseableInfo> models = item.GetUseableBargainByCIQPN(ciqpn);//獲取數據集            //this.dataGridView1.DataSource = item.GetUseableBargainByCIQPN(ciqpn);            foreach (ImportUseableInfo model in models)            {                DataGridViewRow dr = new DataGridViewRow();                dr.Cells["BargainNO"].Value = model.BargainNO;                dr.Cells["SeqID"].Value = model.SeqID;                dr.Cells["CIQPN"].Value = model.CIQPN;                dr.Cells["CIQCode"].Value = model.CIQCode;                dr.Tag=model.UseQty;                this.dataGridView1.Rows.Add(dr);            }


DataGridView在設計界面中已設置了列,可運行時還是出現錯誤,提示找不到列"BargainNO"。謝謝!

[解决办法]
DataGridViewRow dr = new DataGridViewRow();
 dr.Cells["BargainNO"].Value = model.BargainNO;
==========
DataGridView在設計界面中已設置了列
如果已有一个DataGridView实体,这儿应该设置此实体对象,而不是设置一个新的 DataGridViewRow
更可能的方法应该是
DataGridViewRow1.Cells...............................
如果有一个DataGridView子类,则应为
MyDataGridView dr=new MyDataGridView();
dr.cells........................
[解决办法]
你这样当然出错了,你看你代码的思路:新建行-->给行的列赋值-->把行加入网格
你在给行的列赋值的时候,该行是空的,尚没有列.所以得先给行添加列:
C# code
 foreach (ImportUseableInfo model in models)            {                DataGridViewRow dr = new DataGridViewRow();foreach(DataGridViewCell c in dataGridView1.Columns){dr.Cells.Add(c.CellTemplate.Clone() as DataGridViewCell);//给行添加单元格}                dr.Cells["BargainNO"].Value = model.BargainNO;                dr.Cells["SeqID"].Value = model.SeqID;                dr.Cells["CIQPN"].Value = model.CIQPN;                dr.Cells["CIQCode"].Value = model.CIQCode;                dr.Tag=model.UseQty;                this.dataGridView1.Rows.Add(dr);            } 

热点排行