Datagridview'e data...
 
Bildirimler
Hepsini Temizle

Datagridview'e databaseden veri çağırma  

  RSS
Yıldırım bakar
(@yildirimbakar)
Üye

Merhaba arkadaşlar;

Datagridview'e 10 tane soru getiriyorum. Bu datagridview içerisine iki tane checkbox ekledim evet checkbox'i seçerse database'e(Sql) 1 , hayır checkbox'i seçerse database'ye sıfır yazıyor. Buraya kadar sorun yok. Fakat bu datayı geri çağırırken datagridview'e soruları getiriyorum örneğin 1. soru database'de 1 ise evet checkbox'i işaretlesin sıfır ise Hayır'ı işaretlesin diğer sorular içinde aynısını yapsın. Nasıl bir yol izlemeliyim. 

Teşekkür ederim. 

Alıntı
Gönderildi : 04/02/2020 17:05
Sait ORHAN
(@saitorhan)
Üye

Merhabalar,

Aşağıdaki sorguyu gridview'e bind ederseniz sorununuz çözülecektir.

select Soru, (case when Secenek = 1 then 1 else 0 end) Evet, 
(case when Secenek = 0 then 1 else 0 end) Hayir from Sorular

Burada "(case when Secenek = 1 then 1 else 0 end) Evet" ifadesi Secenek kolunu 1 ise sonucu 1 olarak döndürür ve kolon adını Evet olarak ayarlar.
Aynı şekilde Hayır kolonu için de case - when ifadesi kullanılır.

Aşağıdaki ekran görüntüsünde üstte tablo içeriğini altta ise sorgunun sonucunu görebilirsiniz.

image

Gridview tarafında da kolonlara aşağıdaki gibi tanımlama yaparsanız sorununuz çözülecektir.

image

---------
Sait ORHAN
Bilgisayar Mühendisi
Web: http://saitorhan.com

CevapAlıntı
Gönderildi : 08/02/2020 22:35
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

Teorik olarak bir patterne sadik kalmalisiniz SQL kisminda sait'in soyledigi dogru olmakla beraber bunu GV ye almak icin Response Request classlarini olusturmaniz ve buna gore de View Modelinizi ayarlamaniz lazim Saitin yontemi bir SQL view yaparsaniz listelemelerde bunu kullanabilirsiniz.

nasil yaparim dan once bize sizin kod yapiniz yani  Code Pattern version ve kullanilan componentler gibi bilgileri de aktarirsaniz daha net atis yapariz 

 

saygilar

ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com

CevapAlıntı
Gönderildi : 09/02/2020 00:23
Paylaş: