C# Entity framework ComboBox Ile Ilgılı

JackJones34

Katılımcı Üye
15 Nis 2013
914
0
İstanbul
Arkadaslar bir Proje Yapıyoruzda Comboboxda Takıldık Soru Şöyle

Mesela 3 Tablo Düşünün 1)Fakülte tablosu 2)Bölüm Tablosu 3)Dersler Tablosu

1.ComboBox'dan Seçilen Fakülteye Göre
2.ComboBox'a Bölümler Gelicek
3.ComboBox'a da Seçilen Bölüm'ün Dersleri Gelicek Bunu Nasıl Yapabilirim ?


1.ComboBox'a Zaten Fakülteyi Getirebiliyorum Sql Sorgusuyla tüm Tabloyu Çekiyorum Onda Sıkıntı Yokta Diğer comboboxlarda Sıkıntı Var
 

Whisber

Kıdemli Üye
13 Nis 2014
3,694
1
buyur. if else ile yapılabilir. fakat butona 2 kere tıklayınca 2 bolumde 2 tane bolum cıkıyor onu halledersin sen .

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace döngüler_tht1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Items.Add("fakulte1");
comboBox1.Items.Add("fakulte2");
comboBox1.Items.Add("fakulte3");
comboBox1.Items.Add("fakulte4");
}

private **** button1_Click(object sender, EventArgs e)
{
if (comboBox1.Text == "fakulte1")
{
comboBox2.Items.Add("tıp");
comboBox2.Items.Add("hukuk");
}
if (comboBox2.Text == "tıp")
{
comboBox3.Items.Add("ders1");
comboBox3.Items.Add("ders2");
}
}

private **** comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}
}
}
 

JackJones34

Katılımcı Üye
15 Nis 2013
914
0
İstanbul
buyur. if else ile yapılabilir. fakat butona 2 kere tıklayınca 2 bolumde 2 tane bolum cıkıyor onu halledersin sen .

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace döngüler_tht1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Items.Add("fakulte1");
comboBox1.Items.Add("fakulte2");
comboBox1.Items.Add("fakulte3");
comboBox1.Items.Add("fakulte4");
}

private **** button1_Click(object sender, EventArgs e)
{
if (comboBox1.Text == "fakulte1")
{
comboBox2.Items.Add("tıp");
comboBox2.Items.Add("hukuk");
}
if (comboBox2.Text == "tıp")
{
comboBox3.Items.Add("ders1");
comboBox3.Items.Add("ders2");
}
}

private **** comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{

}
}
}

Hocam Entity Framework ile Yapılacak WPF Projesi bu Başka Classdan Method Çekilerek Yapılacak combobox'a item'lar manuel eklenılmıcek

misal

Kod:
public List<tabloFakulte> FakulteGetir()
{
return (from i in db.tabloFakulte select i).ToList();
}
bu FakulteGetır Method u tum Fakultelerı Getırır bunu Gıdıp ComboBox a

Kod:
combobox1.ItemsSource = FakulteGetir.FakulteGetir();
combobox1.DisplayMemberPath = "fakulteAdi";

Şeklinde Yazınca Fakulteler Gelıyo
Fakat Daha sonra Nasıl Secılen Verıye göre Bolumler Gelıcek Onu Bılmıyorum

Çok Katmanlı Mimari Kullanıyoruz Projede.

Sizin Yazmış Oldugunuz Windows Form Application İçin Geçerli
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Aslında if else bir yerde doğru bir çözüm.

İsterseniz ajaxla postback olmadan seçilen fakulte bilgisini alırsınız daha sonrasında fakulte zaten seçili olduğuna göre fakülte ismine göre bir linq to sql sorgu yazarsınız :

var bolumler = (from db in database
where fakulteAdi=gelenDegisken
select bolumler).ToList();

return View(bolumler);

Fakulte tablosundan bolum bilgilerini liste halinde alırsınız.
 
Son düzenleme:

JackJones34

Katılımcı Üye
15 Nis 2013
914
0
İstanbul
Aslında if else bir yerde doğru bir çözüm.

İsterseniz ajaxla postback olmadan seçilen fakulte bilgisini alırsınız daha sonrasında fakulte zaten seçili olduğuna göre fakülte ismine göre bir linq to sql sorgu yazarsınız :

var bolumler = (from db in database
where fakulteAdi=gelenDegisken
select bolumler).ToList();

return View(bolumler);

Fakulte tablosundan bolum bilgilerini liste halinde alırsınız.

Yok Hocam Bu Şekilde Olmuyor
ogVj5b.jpg

Benım Yaptığım Olay şu Query diye Bir Class ım Var Orda Methodları Tanımlıyorum
MainWindow 'da Çağırıyorum Ufak Bir Resimle Anlattım Olayı

o Kodda Yapılan iş Load Oldugunda Combobox'a (CB1) Fakulte Isımleri Geliyor.
Fakat Bir Method daha Yazıp İkinci Combobox 'a Seçilen Fakulteye Göre Bolumleri Getirmem Lazım
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Yok Hocam Bu Şekilde Olmuyor
ogVj5b.jpg

Benım Yaptığım Olay şu Query diye Bir Class ım Var Orda Methodları Tanımlıyorum
MainWindow 'da Çağırıyorum Ufak Bir Resimle Anlattım Olayı

o Kodda Yapılan iş Load Oldugunda Combobox'a (CB1) Fakulte Isımleri Geliyor.
Fakat Bir Method daha Yazıp İkinci Combobox 'a Seçilen Fakulteye Göre Bolumleri Getirmem Lazım

Bu şekilde olmuyor dediğin nedir ? Combobox tan veriyi ya ajaxla alırsın ya post edersin . Gelen değişkene göre de tablodan çekersin. Olmamak gibi bir durum yok.

Mvc kullanıyoruz demişsin , @html.ajaxform kullan istersen, ya da direk html.beginform ile gönder. Veriyi classta yeni bir fonksiyona parametre olarak gönder gelen parametreye göre tablodan çek.

 

JackJones34

Katılımcı Üye
15 Nis 2013
914
0
İstanbul
Bu şekilde olmuyor dediğin nedir ? Combobox tan veriyi ya ajaxla alırsın ya post edersin . Gelen değişkene göre de tablodan çekersin. Olmamak gibi bir durum yok.

Mvc kullanıyoruz demişsin , @html.ajaxform kullan istersen, ya da direk html.beginform ile gönder. Veriyi classta yeni bir fonksiyona parametre olarak gönder gelen parametreye göre tablodan çek.


Olmuyor Dememın Sebebı bu bir Ödev Oldugu Icın bunu Kabul Etmez Hocanın Gösterdiği Gibi Yapmalıyız Bu Çok Aykırı Olur

Hocanın Söylediği Şöyle birşey var 'selection changed evetinda da selecteditemini alacaksin'
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.