开发者

How do I allow edit only a particular column in datagridview in windows application?

I want to enable only two columns in the DataGridview to be able to edit. The others should not be allowed to edit. Further I am not directly linking to datasource; I will be doing some thing like this way

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;

So which property should I set, that will enable only one column say Email开发者_JS百科(in the above eg) to be editable.


Set the ReadOnly property of the other columns to true.

(You'll probably need to loop through the Columns collection and use an if statement)


dataGridView1.ReadOnly = false;
dataGridView1.Columns[1].ReadOnly = true;
dataGridView1.Columns[2].ReadOnly = true;

here first column (index 0) will be editable.


foreach (DataGridViewColumn dc in dataGridViewX1.Columns)
{
       if (dc.Index.Equals(0) || dc.Index.Equals(1))
       {
           dc.ReadOnly = false;
       }
       else
       {
            dc.ReadOnly = true;
       }
 }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜