Как разрешить редактирование сетки данных программно? - PullRequest
5 голосов
/ 02 марта 2012

У меня есть сетевое представление данных, подключенное к базе данных.У меня есть флажок для включения данных для редактирования в datagridview.Если флажок установлен, то можно редактировать только 1 столбец таблицы данных, и после редактирования нажмите кнопку Сохранить, чтобы отразить это в базе данных, а когда флажок снят, редактирование отключено.

Я пробовал что-то вроде этого:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox1.CheckState == CheckState.Checked)
        {
            dataGridView1.CurrentRow.ReadOnly = false;
            dataGridView1.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
        }
        else if (checkBox1.CheckState == CheckState.Unchecked)
        {
            dataGridView1.ReadOnly = true;
        }
    }

В этом коде отсутствует концепция выбора столбцов для редактирования.

Ответы [ 4 ]

3 голосов
/ 02 октября 2013
    for (int i = 0; i <= dataGridView1.ColumnCount - 1; i++)
    {
        dataGridView1.Columns[i].ReadOnly = true; 
    }
2 голосов
/ 15 июля 2015

Справка, предоставленная в этом разделе, может работать, только если собственное свойство datagridview для чтения установлено в значение false.если это не только для чтения свойство каждого столбца будет сохраняться.При использовании смарт-тега для выбора и включения «сделать сетку редактируемой» свойство readonly устанавливается в значение false.Кроме того, что приятно в сетке нового поколения, так это то, что вам не нужно искать столбец, как в

foreach (var col in grid1.columns)

, вы можете просто использовать имя столбца, как выбрано или по умолчанию».конечно, у счетчика есть свои преимущества.

0 голосов
/ 10 ноября 2012

Вы можете попробовать

if(dataGridView1.SelectedCells.Count>0) dataGridView1.SelectedCells[0].ReadOnly=false; 

вместо

dataGridView1.CurrentRow.ReadOnly=false;
0 голосов
/ 02 марта 2012

Чтобы сделать то, что вы хотите, вы должны установить только столбец, который вы хотите отключить.Блокировать весь столбец?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...