SWITCH COM NOME DE COLUNAS DATAGRIDVIEW

LUIS.HERRERA 13/11/2014 08:55:25
#442471
Estou tentando simplificar uma sequencia de ifs, mas o switch não está aceitando. Com eu posso usar isso com switch?

private void gridParticipantes_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == gridParticipantes.Columns[[Ô]Programado[Ô]].Index)
{
}

if (e.ColumnIndex == gridParticipantes.Columns[[Ô]Aprovado[Ô]].Index)
{
}

if (e.ColumnIndex == gridParticipantes.Columns[[Ô]Reprovado[Ô]].Index)
{
}

etc..

}

Tentei assim e não funciona

switch (e.ColumnIndex)
{
Case gridParticipantes.Columns[[Ô]Programado[Ô]].Index: //erro aqui
break;
Case gridParticipantes.Columns[[Ô]Aprovado[Ô]].Index:
break;
Case gridParticipantes.Columns[[Ô]Reprovado[Ô]].Index:
break;
}

Diz que variável é necessária.
OCELOT 13/11/2014 09:51:44
#442472
Resposta escolhida
Neste caso não tem como você fazer o switch no index, pois o switch só aceita valores constantes nos cases, e neste caso você está passando uma variável.

O que você poderia tentar é fazer o switch pelo nome da coluna em vez do índice

switch (gridParticipantes.Columns[e.ColumnIndex].Name)
{
case [Ô]Programado[Ô]:
break;
case [Ô]Aprovado[Ô]:
break;
}

LUIS.HERRERA 13/11/2014 11:48:35
#442474
Perfeito OCELOT era isso mesmo. Obrigado
Tópico encerrado , respostas não são mais permitidas