我想只启用DataGridview中的两列才能进行编辑.其他人不应该被允许编辑.此外,我没有直接链接到数据源; 我会做这样的事情
DataTable dt = new DataTable(); dt.Columns.Add("Email"); dt.Columns.Add("email1"); for (int i = 0; i < 5; i++) { DataRow dr = dt.NewRow(); dr["Email"] = i.ToString(); dr["email1"] = i.ToString() + "sdf"; dt.Rows.Add(dr); } BindingSource bs = new BindingSource(); bs.DataSource = dt; dataGridView1.DataSource = bs;
那么我应该设置哪个属性,这将只允许一列说电子邮件(在上面的例子中)是可编辑的.
将ReadOnly
其他列的属性设置为true
.
(您可能需要遍历Columns
集合并使用if
语句)
dataGridView1.ReadOnly = false; dataGridView1.Columns[1].ReadOnly = true; dataGridView1.Columns[2].ReadOnly = true;
这里的第一列(索引0)将是可编辑的.
foreach (DataGridViewColumn dc in dataGridViewX1.Columns) { if (dc.Index.Equals(0) || dc.Index.Equals(1)) { dc.ReadOnly = false; } else { dc.ReadOnly = true; } }