Замена числовых значений в datagridview на значения из массива без изменения основных данных

169
26 июля 2019, 22:30

Имеется datagrigview к которому через datasource привязывается list<> с данными В list<> содержатся ид для подгрузки значений из других массивов Нашел способ менять значения на нужные мне

for (int i = 0; i < Championship.Members.Count; i++) 
{ 
  DataGridViewTextBoxCell txtxCell = (DataGridViewTextBoxCell)dataGridView1.Rows[i].Cells[5]; 
  string cellValue = txtxCell.Value.ToString(); 
  string trainer = Championship.Trainers[int.Parse(cellValue)].FullName.ToString(); 
  txtxCell.Value = trainer; 
}

Но после изменения значение они автоматически записываются в list<>

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

Answer 1

Используйте событие CellFormatting:

private void DataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 5)
    {
        e.Value = Championship.Trainers[int.Parse(e.Value.ToString())].FullName;
    }
}

Что-то в этом духе.

READ ALSO
Как получить Cell из DataGridRow в WPF?

Как получить Cell из DataGridRow в WPF?

Нужно получить значение из первой ячейки из строки DataGrid'а

165
Почему в адресе boolean параметр показывается дважды?

Почему в адресе boolean параметр показывается дважды?

Это перевод вопроса Why does query string parameter get included twice - aspnet boolean

189
Как сгладить UI и остальные объекты в Unity3D?

Как сгладить UI и остальные объекты в Unity3D?

Пытался сглаживать в Quality Anti Aliasing, но не помогает

195