Avatar billede webdesigner Praktikant
20. september 2011 - 15:57 Der er 3 kommentarer

DataGridView ændre farver

Hej prøver at farve kode på bagrunden med er.ThreadLevel

har lavet et dataGridview i form designeren.

og smider data ind i cellerne med et foreach loop.
har prøvet at parse det igennem ved at sætte row.SetValues med
logdata som parateter men det giver tomme men farvede celler.

så mit spørsmål er nu hvordan sætter jeg cellen rækkes
farve med er.Threadlevel.

           
foreach (debugLog.Error er in debugLog.Error.getAllErrors())
            {
string[] logData = new string[] { er.Threatlevel, er.Description, er.StackTrace, er.MyDescription, er.TimeOfError.ToString() };
                DataGridViewRow row = new DataGridViewRow();
                DataGridViewCellStyle style = new DataGridViewCellStyle();

                style.ForeColor = Color.Black;

                if (er.Threatlevel == "CodeGreen")
                {
                    style.BackColor = Color.LightGreen;
                   
                }
                else if (er.Threatlevel == "CodeYellow")
                {
                    style.BackColor = Color.Yellow;
                }
                if (er.Threatlevel == "CodeRed")
                {
                    style.BackColor = Color.Red;
                }


                row.DefaultCellStyle = style;
                dataGridView1.Rows.Add(logData);
            }
Avatar billede Syska Mester
20. september 2011 - 16:08 #1
Hvad gør overstående? Er der noget i det som ikke virker?

Overstående du er kommet med, er en masse fakta, men jeg læser intet spøgsmål ud af det.

Sikker på du rammer ind i din if/else ?

Jeg ville nok lave en:
switch(er.Threatlevel)
{
case "CodeYellow":
// sæt yellow color.
break;
default:
// sæt some default color.
break;
}

mvh
Avatar billede webdesigner Praktikant
20. september 2011 - 16:41 #2
mit spørsmål er nu hvordan sætter jeg cellen rækkes
farve med indput fra er.Threadlevel.
som if statement variabel..
Avatar billede webdesigner Praktikant
20. september 2011 - 16:48 #3
OK kan ikke laves i 1 omgang men lav den af 2 så virker den
foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if (dataGridView1["errorcode", row.Index].Value != null)
                    if (dataGridView1["errorcode", row.Index].Value.ToString() == "CodeRed")
                        row.DefaultCellStyle.BackColor = Color.Red;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester