c # только для чтения DataGridView с одной включенной ячейкой - PullRequest
2 голосов
/ 14 февраля 2012

У меня есть только чтение сетки данных, мне нужно в некоторых конкретных случаях включить одну ячейку после двойного щелчка по строке (сделайте readonly = false и сделайте фокус на этой конкретной ячейке в текущей строке (как при ее вводе - курсор должен начать мигать).

У меня есть:

 private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
       dataGridView1.Cells[3].ReadOnly = false;
}

Но это не работает. Почему?

Ответы [ 2 ]

2 голосов
/ 01 июня 2013

dataGridView1 Свойство ReadOnly должно иметь значение false.каждому свойству строки ReadOnly должно быть присвоено значение true.тогда при необходимости вы можете установить для ячейки ReadOnly значение true.

//setting each row

    foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    row.ReadOnly = true;
                }

//setting on cell

    DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[3];
    dataGridView1.CurrentCell = cell;
    dataGridView1.CurrentCell.ReadOnly = false;                
    dataGridView1.BeginEdit(true); 
1 голос
/ 14 февраля 2012

Попробуйте установить текущую ячейку Datagridview и вызвать BeginEdit

 private void dataGridView1_DoubleClick(object sender, EventArgs e)
 {
    dataGridView1.Cells[3].ReadOnly = false;
    this.dataGridView1.CurrentCell = dataGridView1.Cells[3];
    dataGridView1.BeginEdit(true);
}

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.beginedit.aspx

...