Quiero habilitar sólo dos columnas del DataGridview a ser capaz de editar.
Los demás no debe ser permitido editar.
Además yo no soy de los que vincula directamente al origen;
Voy a estar haciendo alguna cosa como esta manera

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;

Por lo que la propiedad debería establecer, que permitirá a sólo una columna decir que el Correo electrónico(en la de arriba por ejemplo) para ser editable.

  • ¿Qué plataforma? WinForms?
InformationsquelleAutor cmrhema | 2010-04-08

3 Comentarios

  1. 39

    Conjunto de la ReadOnly de la propiedad de las otras columnas para true.

    (Probablemente necesitará un bucle a través de la Columns recopilación y el uso de un if declaración)

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

    aquí la primera columna (índice 0) será editable.

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

Dejar respuesta

Please enter your comment!
Please enter your name here