转发 C#动态添加DataGridView列和行

 

private void GetDGVData() { dataGridView1 = DynamicCreationDGV(dataGridView1); } private DataGridView DynamicCreationDGV(DataGridView dgv) { if (dgv == null) return null; if (dgv.ColumnCount != 0) dgv.Columns.Clear(); //清除现有列 #region 组织 DataGridViewColumn for (int i = 0; i < 6; i++) //指定总列数 { //列名和列头名 string dgvColName = "Col"+i; string dgvColHeaderText = string.Empty; if (i<=4) //设置部分列头名 dgvColHeaderText = "Header_"+i; DataGridViewColumn dgvcolumn = new DataGridViewColumn(); if (i == 3) //特殊列设置 { dgvcolumn = new DataGridViewCheckBoxColumn(); //指定列类型 dgvcolumn.ValueType = typeof(bool); //指定列数据类型 } else { dgvcolumn = new DataGridViewTextBoxColumn(); //列默认类型 dgvcolumn.ValueType = typeof(string); //列数据类型默认字符串 } if (i == 5) //指定列数据类型 dgvcolumn.ValueType = typeof(int); dgvcolumn.Name = dgvColName; //列名 dgvcolumn.HeaderText = string.IsNullOrEmpty(dgvColHeaderText) ? dgvColName : dgvColHeaderText; //列头名 dgv.Columns.Add(dgvcolumn); //增加列 } #endregion #region 组织DataGridViewRow for (int i = 0; i < 10; i++) //组织指定数据行 { DataGridViewRow dr = new DataGridViewRow(); dgv.Rows.Add(dr); //增加行 for (int j = 0; j < dgv.ColumnCount-1; j++) //部分列 { if(j==3) //特殊数据列。此处可据列的ValueType属性来处理不同类型数据及格式 dgv.Rows[i].Cells[j].Value = true; else dgv.Rows[i].Cells[j].Value = "Cell" + i + "_" + j; } dgv.Rows[i].Cells[dgv.ColumnCount - 1].Value = dgv.ColumnCount - 1; //最后一列 } #endregion return dgv; }


http://t.zoukankan.com/hnllhq-p-13431490.html
posted @ 2022-11-18 19:53  安相遇  阅读(193)  评论(0编辑  收藏  举报