Avatar billede oddi Nybegynder
07. marts 2010 - 16:25 Der er 3 kommentarer og
1 løsning

farver i datagridview

Hej Eksperter.

Jeg har et problem med at sætte farve paa de önskede rækker i datagridview.

I min constructor gör jeg:

dataGridView1.DataSource = set.Tables["Listi"];
.
.
.
//Alle mulige initialiseringer af datagridveiw1

setColor();

datagridview1.Refresh();

//End constructor

setColor funktionen:

      private void setColor()
        {
            string myColor;

            for (int i = 0; i < dataGridView1.Rows.Count; i++ )
            {
               
                DataRow row = set.Tables["Listi"].Rows[i];
                myColor = row.ItemArray[20].ToString();

                if (myColor == "lightBlue")
                    dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Aqua;
                else if (myColor == "yellow")
                    dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
                else if (myColor == "blue")
                    dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Blue;
                else if (myColor == "pink")
                    dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Pink;

            }

        }

Men det virker ikke :( Alle rækker er hvide...
Hvad gör jeg galt??

Mvh
Oddi
Avatar billede Syska Mester
07. marts 2010 - 19:48 #1
Sikker på din myColor indeholder hvad du regner med ?

Kør det i Debug kode, og sæt et break point ved din første "if".

I hvert fald ville jeg være sikker på at det ikke er pga store/små bogstaver ...

myColor = row.ItemArray[20].ToString().ToLower();

og i dine if:

"lightBlue".ToLower()

Eller bare skrive det hele med små bogstaver ...

mvh
Avatar billede oddi Nybegynder
07. marts 2010 - 21:07 #2
Jeg har debuget min setColor() funktion og alt ser fint ud. Hvis myColor er "blue", eksikveres:

dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Blue;

Men af en eller anden grund bliver farverne ikke opdateret...?

Et andet sted i mit program kan jeg tilföje nye værdier til min tabel(række) og refreshe datagridview og farven paa denne række faar den korrekte farve.

Det er kun i min constructor som det ikke virker.
Avatar billede oddi Nybegynder
02. september 2010 - 09:57 #3
Fandt ikke en losning, skiftede til WPF i stedet.
Avatar billede Syska Mester
02. september 2010 - 10:14 #4
WPF er også klart vejen frem ... ingen grund til at sætte sig ind i gammel teknologi :-)
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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