Anasayfa » Forum

(C Sharp) Access te...
 
Bildirimler
Hepsini Temizle

(C Sharp) Access ten çekilen Yazıyı DataGridWiev de farklı renkte gösterme

 Anonim

Merhaba Arkadaşlar

DataGridWiev de eğer hücrede ki yazı içerisinde "cozumpark" kelimesi geçiyorsa kırmızı olsun istiyorum

Mesala

"cozumpark Çözümsüz Sorununuz Kalmasın. Türkiyenin En büyük Bilişim Topluluğu "  kelimesindeki "cozumpark"  kırmızı olsun geri kalanı değişmesin

 DataGridWiev e access den tablomu çekiyorum

Alıntı
Topic starter Gönderildi : 27/11/2010 23:20
Gokhan DOGAN
(@GokhanDOGAN)
Üye

Mrb 

Aşağıdaki örnekler işini görür.

1. dataGridView1.Rows[rowNo].Cells[KolonNo].Style.BackColor = Color.Red;

2. dataGridView1[KolonNo, RowNo].Style.BackColor = Color.Red;

3.

            foreach (DataGridViewRow row in dataGridView1.Rows)

            {

                if ((string)row.Cells[KolonNo].Value == "cozumpark.com")                  

                 row.Cells[KolonNo].Style.BackColor = Color.Blue;

             } 

CevapAlıntı
Gönderildi : 28/11/2010 03:15
 Anonim

Hocam Çok Teşekkür ederim kesinlikle bu kodlar işime yaradı ve ayrıca öğrenmiş oldum ama genede kafama takılan sorunun tam cevabını alamadım

Sizin kodlarınız eğer hücrede  sadece "cozumpark" yazıyorsa çalışıyor ama oysaki ben "cozumpark! Yanıtsız sorunuz kalmasın" gibi bir şey yazarsada renk değişimi olsun istiyorum

Tekrar Teşekkürler 

CevapAlıntı
Topic starter Gönderildi : 28/11/2010 04:59
Gokhan DOGAN
(@GokhanDOGAN)
Üye

Mrb 

rica ederim, o zaman şöyle yaparsın sen hangi kelime,cümleleri istiyosan db ye girersin. Sonra bi method yaparsın db 'de like'la sorgularsın içinde geçen kelime vs.. varsa dönen değere göre rengini değiştirirsin..  

CevapAlıntı
Gönderildi : 28/11/2010 05:13
Ahmet Rende
(@AhmetRende)
Üye

satırların içinde dönerken Contains() metodunu da kullanarak yapabilirsin.

Contains() metodu bool bir deger dondurur. True ise istedigin kısımları kırmızı yapabilirsin.

CevapAlıntı
Gönderildi : 30/11/2010 15:25
 Anonim
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
            {
                if ((dataGridView1[4, i].Value.ToString() == "ali")) ;
                {
                    dataGridView1[4, i].Style.BackColor = Color.Red;
                }
            }
 
 arkadaşlar Kod blogundanda sanırım anlaşılacagı gibi 4. stunumun içerisinde dönderiyor ve her satırda "ali" kelimesini arıyorum eger yazıyorsa o sütünu kırmızı yapsın istiyorum ama hücrede ne yazarsa yazsın if blogunun içerisine giriyor ve hücrenin rengini değiştiriyor
Neden? 
CevapAlıntı
Topic starter Gönderildi : 30/11/2010 16:50
Ahmet Rende
(@AhmetRende)
Üye

[quote user="wakmaa"]

for (int i = 0; i < dataGridView1.RowCount - 1; i++)
            {
                if ((dataGridView1[4, i].Value.ToString() == "ali")) ;
                {
                    dataGridView1[4, i].Style.BackColor = Color.Red;
                }
            }
 
 arkadaşlar Kod blogundanda sanırım anlaşılacagı gibi 4. stunumun içerisinde dönderiyor ve her satırda "ali" kelimesini arıyorum eger yazıyorsa o sütünu kırmızı yapsın istiyorum ama hücrede ne yazarsa yazsın if blogunun içerisine giriyor ve hücrenin rengini değiştiriyor
Neden? 

[/quote]

 

breakpoint koyup adımları izlermisiniz. "dataGridView1[4, i].Value.ToString()" bu değerin ne verdigini yazarsanız daha yardımcı olabilirim.

CevapAlıntı
Gönderildi : 30/11/2010 17:31
 Anonim

😀

İf blogumun sonuna ";" virgül koyunca böle bir sonuça ulaşıyormulum öğrenmiş oldum(El alışkanlığı yararlı değil demekki,Heryere ";" olmaz 😀 )

Genede;

 

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

            {

                if ((dataGridView1[4, i].Value.ToString().== "ali")) 

                {

                    dataGridView1[4, i].Style.BackColor = Color.Red;

                }

            } 

 

Dediğimde sadece 1. "ali" bulunan hücreyi değiştiriyor öbürlerini değiştirmiyor

Bunu neden böyle yapıyor anlamadım? 

ancak;

Webeffect arkadaşımızın dediği gibi  

 

Contains() methodunu kullanınca herşey çözüldü 

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

            {

                if ((dataGridView1[4, i].Value.ToString().Contains("ali"))) 

                {

                    dataGridView1[4, i].Style.BackColor = Color.Red;

                }

            } 

 

Tüşekkürler 

CevapAlıntı
Topic starter Gönderildi : 30/11/2010 17:31
Ahmet Rende
(@AhmetRende)
Üye

Çözmüş olmana sevindim. Kolay gelsin

 🙂

CevapAlıntı
Gönderildi : 30/11/2010 17:32
 Anonim

Teşekkürler WepEffect 

Genede öğrenmek istiyorum

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

            {

                if ((dataGridView1[4, i].Value.ToString().== "ali")) 

                {

                    dataGridView1[4, i].Style.BackColor = Color.Red;

                }

            } 

 

Dediğimde sadece 1. "ali" bulunan hücreyi değiştiriyor öbürlerini değiştirmiyor

Bunun sebebi nedir?

BreakPoint koyduğumda mesala 4.stun 3. hücrenin value değerini "ali" olarak gösteriyor ve mantıksal olara bloğun içerisine girmesi lazım ama girmiyor 

CevapAlıntı
Topic starter Gönderildi : 30/11/2010 17:37
Ahmet Rende
(@AhmetRende)
Üye

şöyle birşey var.

Datadan gelen "ali" ile senin karşılaştırdığın bire bir aynı mı. Mesela belki datadaki alinin kenarlarında boşluk var yada büyük harfli. Böyle bir ihtimal var mı? Veriler aynı mı birebir.

 

CevapAlıntı
Gönderildi : 30/11/2010 18:47
 Anonim

Hocam sağolun ya gerçekten

Herşeyi denemiştim de ".trim()" ile denemek hiç aklıma gelmemişti

Genede belki birine lazım olur yazalım

 

for (int i = 0; i < dataGridView1.RowCount - 1; i++)

            {

            if ((dataGridView1[4, i].Value.ToString().Trim() == "ali")) 

                    {

                    dataGridView1[4, i].Style.BackColor = Color.Red;

                    }

            }  

Bi "trim" nelere kadir 😀 

CevapAlıntı
Topic starter Gönderildi : 30/11/2010 18:51
Ahmet Rende
(@AhmetRende)
Üye

Oldu yani 🙂

Sevindim.. Yazılımda çok küçük ayrıntılar çok büyük sonuçlar doğurabiliyor bazen :))

CevapAlıntı
Gönderildi : 30/11/2010 19:00
Paylaş: