Arkadaşlar elimde birden fazla tablo var ve bu tablolar bana xml'e dönüşerek geliyor..
Benim yapmam gereken içlerindeki id'lere göre diğer xml dosyalarından veriyi filtreleyip datagridview içerisinde göstermek istiyorum.
XmlDataDocument xmlDatadoc = new XmlDataDocument();
xmlDatadoc.DataSet.ReadXml("stock/list.xml");
DataSet ds = new DataSet("Stock");
ds = xmlDatadoc.DataSet;
dataGridView1.DataSource = ds.DefaultViewManager;
dataGridView1.DataMember = "item";
bu kodlar ile tek bir xml'in içerisindeki bütün verileri datagridview içerisine atabiliyorum. Ancak benim istediğim örneğin ;
bu list.xml içerisinde bir car_id var bu id'den car.xml içerisindeki id ile eşleştirp onu datagrid viewe atmak ve onun yanına color.xml içerisinden ilişkilendirip vari eklemek bunun gibi 4 5 tane xml var elimde. ve daha da artabilir...
Yardımcı olabilirseniz sevinirim..
xml dosyalarının datagridview de göstrilmesi
-
- Üye
- Mesajlar: 2
- Kayıt: 24 Nis 2009 10:10
-
- Üye
- Mesajlar: 2
- Kayıt: 24 Nis 2009 10:10
Re: xml dosyalarının datagridview de göstrilmesi
Arkadaşlar yardım edebilecek kimse yok mu _?
Re: xml dosyalarının datagridview de göstrilmesi
xml de filter uygulayabiliyorssun ama join i hiç durmadım görmedim.
şöyle bişey yapabilirsin, gridview da göstermek istediğin xml yapısını generate edip elindeki xml i gridview a bind edebilirsin.
yani x xml i ile y xml inin istediğin nodelarını z xml i üzerinde oluşturup z yi gridview a bind et.
şöyle bişey yapabilirsin, gridview da göstermek istediğin xml yapısını generate edip elindeki xml i gridview a bind edebilirsin.
yani x xml i ile y xml inin istediğin nodelarını z xml i üzerinde oluşturup z yi gridview a bind et.
Re: xml dosyalarının datagridview de göstrilmesi
Bu Bahsetmiş olduğun elinde bulunan tüm xml dosyalarını bir datasete tablelar şeklinde doldursun.
Ondan sonra tablolar arasında ilişki kurabilirsin. İstediğin fieldlar arasında yani liste tablosundaki car_id alanı ile car tablosundaki id yi ilişkilendirebilirsin.
c# dataset'i veritabanı tabloları da tablelar olarak düşünür.
Dolayısıyla ilişkileri vurdan da tanımlayabilirsin.
Örnek olarak
myAdap.Fill(dSet, "DERS_T");
DataRelation dRelation = new DataRelation("cevapDersRel", dSet.Tables["DERS_T"].Columns["ders_kod"], dSet.Tables["CEVAP_ANAHTARI"].Columns"ders_kod"], false);
dSet.Relations.Add(dRelation);
dSet.Tables["CEVAP_ANAHTARI"].Columns.Add("DersAd", typeof(string), "Parent(cevapDersRel).dersad");
Yukardaki dSet =Senin Datasetin
DERS_T tablosu ile CEVAP_ANAHTARI tablosu arasında bir ilişki kuruyorum . ilişkim Ders_kod alanı ile kuruyorum.
Peki bu ilişkiyi kurdum x numaralı arabayı seçtim nasıl gelecek uygun araba dersende abicim.
Bir comboya doldurduğun araba listesi olduğunu varsayarsak
combobox'ın şöyle bir eventi var cbDersler_SelectionChangeCommitted oraya aşağıdaki gibi bir kodlada bunu sağlayabilirsin.
//Hepsini göster secili ise
if (Convert.ToInt16((sender as ComboBox).SelectedValue) != 0)
{
if(rowFilter != "")
{
(dgCevapAnahtari.DataSource as DataTable).DefaultView.RowFilter = rowFilter + " and ders_kod='" + (sender as ComboBox).SelectedValue.ToString() + "'";
}
else
{
(dgCevapAnahtari.DataSource as DataTable).DefaultView.RowFilter = rowFilter + " ders_kod='" + (sender as ComboBox).SelectedValue.ToString() + "'";
}
(dgCevapAnahtari.DataSource as DataTable).DefaultView.Sort = "snvgrup_kod,ktur,soruno";
}
else
{
(dgCevapAnahtari.DataSource as DataTable).DefaultView.RowFilter = rowFilter;
(dgCevapAnahtari.DataSource as DataTable).DefaultView.Sort = "snvgrup_kod,ktur,soruno";
}
bunlar benim daha önceden yazmış olduğum uygulamadaki kodlarım. Umrım işini görür
kolay gelsin.
Ondan sonra tablolar arasında ilişki kurabilirsin. İstediğin fieldlar arasında yani liste tablosundaki car_id alanı ile car tablosundaki id yi ilişkilendirebilirsin.
c# dataset'i veritabanı tabloları da tablelar olarak düşünür.
Dolayısıyla ilişkileri vurdan da tanımlayabilirsin.
Örnek olarak
myAdap.Fill(dSet, "DERS_T");
DataRelation dRelation = new DataRelation("cevapDersRel", dSet.Tables["DERS_T"].Columns["ders_kod"], dSet.Tables["CEVAP_ANAHTARI"].Columns"ders_kod"], false);
dSet.Relations.Add(dRelation);
dSet.Tables["CEVAP_ANAHTARI"].Columns.Add("DersAd", typeof(string), "Parent(cevapDersRel).dersad");
Yukardaki dSet =Senin Datasetin
DERS_T tablosu ile CEVAP_ANAHTARI tablosu arasında bir ilişki kuruyorum . ilişkim Ders_kod alanı ile kuruyorum.
Peki bu ilişkiyi kurdum x numaralı arabayı seçtim nasıl gelecek uygun araba dersende abicim.
Bir comboya doldurduğun araba listesi olduğunu varsayarsak
combobox'ın şöyle bir eventi var cbDersler_SelectionChangeCommitted oraya aşağıdaki gibi bir kodlada bunu sağlayabilirsin.
//Hepsini göster secili ise
if (Convert.ToInt16((sender as ComboBox).SelectedValue) != 0)
{
if(rowFilter != "")
{
(dgCevapAnahtari.DataSource as DataTable).DefaultView.RowFilter = rowFilter + " and ders_kod='" + (sender as ComboBox).SelectedValue.ToString() + "'";
}
else
{
(dgCevapAnahtari.DataSource as DataTable).DefaultView.RowFilter = rowFilter + " ders_kod='" + (sender as ComboBox).SelectedValue.ToString() + "'";
}
(dgCevapAnahtari.DataSource as DataTable).DefaultView.Sort = "snvgrup_kod,ktur,soruno";
}
else
{
(dgCevapAnahtari.DataSource as DataTable).DefaultView.RowFilter = rowFilter;
(dgCevapAnahtari.DataSource as DataTable).DefaultView.Sort = "snvgrup_kod,ktur,soruno";
}
bunlar benim daha önceden yazmış olduğum uygulamadaki kodlarım. Umrım işini görür
kolay gelsin.
derviş