Member 13927859 Ответов: 1

Практическое руководство : отключить значение по умолчанию comboboxcolumn


Привет,

У меня есть datagridview с тремя столбцами : первый столбец-это поле editText , второй и третий столбцы-это comboboxcolumn перечисления.

когда я запускаю код, по умолчанию отображается первая строка со всеми пустыми полями.
но проблема возникает, когда я нажимаю на первую ячейку (текстовое поле), две другие ячейки combobox автоматически принимают свои значения по умолчанию. но я не хочу, чтобы они принимали какую-либо ценность, если я не выберу ее сам.



есть ли какой - нибудь способ сделать это ?

для получения дополнительной информации источник данных datagridview связан со списком.

спасибо,

Что я уже пробовал:

private void dgv_TableTarification_CellClick(object sender, DataGridViewCellEventArgs e)
   {
     if (e.RowIndex < 0) //le click sur la cellule else le header n'entraine pas une exception
       return;
     if (e.ColumnIndex < 0)
       return;
     //if (e.ColumnIndex != 1)
     //  return;
     if (this.dgv_TableTarification.CurrentCell.ColumnIndex == 0)
     {
       this.dgv_TableTarification.Rows[e.ColumnIndex].Cells["C_Tarif"].Selected = false;
       this.dgv_TableTarification.Rows[e.ColumnIndex].Cells["C_RELAIS"].Selected = false;
     }
   }




private void dgv_TableTarification_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
   {
     e.Row.Cells["C_Tarif"].Value = string.Empty;
     e.Row.Cells["C_RELAIS"].Value = string.Empty;
   }

1 Ответов

Рейтинг:
1

Gerry Schmitz

Каждое перечисление должно иметь явное значение по умолчанию (например, Unknown = 0), которое поможет в вашей ситуации.

"Списки" обычно используют "SelectedIndex", чтобы отразить "не выбрано" как -1.

"Выбран" в вашем контексте ничего не значит. (И как компилятор узнает, что вы ссылаетесь на поле со списком с вашим "универсальным" кодом?)


Member 13927859

да , у каждого перечисления есть значение по умолчанию , но я не хочу , чтобы оно показывало значение по умолчанию , пока я не нажму на него, как ваш пример может мне помочь, я не понял

Member 13927859

вот мое перечисление : перечисление общественных тариф
{
T1 = 0,
T2 = 1,
T3 = 2,
T4 = 3,
T5 = 4,
T6 = 5,
Не определено
}
combobow этого перечисления отображает значение по умолчанию T1, равное 0 .