c# XML DataGrid

alonestreet
18-08-2009, 12:41   |  #1  
alonestreet avatarı
OP Yeni Üye
Teşekkür Sayısı: 0
30 mesaj
Kayıt Tarihi:Kayıt: Nis 2008

Arkadaşlar , C# de yeniyim.Elimdeki kitaplara ve netten bakınmama rağmen istediğim şeyi tam olarak yapamıyorum.Şöyledirki.

1 Adet DataGrid
1 Xml dosyamız
1 Butonumuz


XML Dosyası

<?xml version="1.0" standalone="yes"?>
<liste>
<kisiler>
<ad>A Kisi</ad>
<soyad>A Soyad</soyad>
<meslek>A Meslek</meslek>
</kisiler>
<kisiler>
<ad>B Kisi</ad>
<soyad>B Soyad</soyad>
<meslek>B Meslek</meslek>
</kisiler>
</liste>

DataSet dt = new DataSet();
dt.ReadXml("c:\\XML.xml");
dataGridView1.DataSource = dt.Tables[0];

yaparak datagrid e aktarıyorum.Hersey guzel.Sorun ise butona tıkladığımda datagrid e ,datagridde bulunanların altına yeni bir satır ekleyerek belirtilen yazıların alanlara yazılmasını istiyorum.nette arastırıyorum ancak ne oldugunu anlamadıgımdan

DataRow yeni = dt.Tables["buradaki isim XML deki tablo adımı"].NewRow();
yeni["ad"] = "C Kisi";
yeni["soyad"] = "C Soyad";
yeni["meslek"] = "C Meslek";
dt.Tables["buradaki isim XML deki tablo adımı"].Rows.Add(yeni);

Buradaki kodları anlamadıgımdan netteki arastırmalarımdan yazdım,ama tabi olmadı.Nesne başvurusu bir nesnenin örneğine ayarlanmadı. diyor.

Bana bunun nasıl çalışabileceği konusunda yardımcı olabilecek arkadaslar varsa memnun olurum.Tesekkurler.

PcMaKeR
18-08-2009, 12:57   |  #2  
PcMaKeR avatarı
Yıllanmış Üye
Teşekkür Sayısı: 6
8,935 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

Bak al sana daha güzel :D

hiç uğraşmıyorsun.

http://rapidshare.com/files/2686 ... lication10.rar.html

5 dk da aldım senin xml dosyasını yaptım programı.

2 buton bi datagrid. :D

Birinci buton xml okuyup datasete atıyor. Dataset doluyor. datagrdiview okuyor.

datagrid viewden ister verigir, ister kaydet, ister değişiklik yap.

sonra değişiklikleri kaydet butonuyla ds i xml ye yaz.

Böyle basit uygulama yapan çok az.

senin öyle hata almanın sebebi global bir dataset tanımlamamış olman programda bir tane global dataset tanımladım senin için.

public Form1()
        {
            InitializeComponent();
            ds = new DataSet();/*Program yüklendiğinde belleğe yüklensin ki hızlı olsun.*/
        }
        DataSet ds;
        private void button2_Click(object sender, EventArgs e)
        {
            ds.WriteXml(Application.StartupPath + "\\Dataset.xml");
        }
        private void button1_Click(object sender, EventArgs e)
        {
            ds.ReadXml(Application.StartupPath + "\\Dataset.xml");
            dataGridView1.DataSource = ds.Tables[0];
        }

işte kodlar bu kadar basit ;)

Son Düzenleme: PcMaKeR ~ 18 Ağustos 2009 13:00
alonestreet
18-08-2009, 22:26   |  #3  
alonestreet avatarı
OP Yeni Üye
Teşekkür Sayısı: 0
30 mesaj
Kayıt Tarihi:Kayıt: Nis 2008

Öncelikle ilgilendiğin çin teşekkür ederim.kaydetme isi tamamda,benim asıl soylemek istedigim,butona tıklandıgında datagridde bos row eklensin yada bos yerine butona tıkladıgımda datagriddekilerin altına yazdıgım isimler eklensin tabloya.SOnraki butonlada kaydedeyim.Datagride tıklayıp eklemek istemiyorum

PcMaKeR
18-08-2009, 22:35   |  #4  
PcMaKeR avatarı
Yıllanmış Üye
Teşekkür Sayısı: 6
8,935 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

butona
 
datagridview1.Rows.Add(1); dediğinde yeni row açar.
 
dataset ile yaparsan otomatik açar.
 
onuda benim örnekten gidersen bir buton daha eklersin:
 
DataRow dr=ds.Tables[0].NewRow();
dr["AlanAdlari"]="ssdsaas";
 
ds.Tables[0].Rows.Add(dr);
 
bu kadar basit. benim kodlardaki dataset in globalliğini dikkat et.

alonestreet
18-08-2009, 23:52   |  #5  
alonestreet avatarı
OP Yeni Üye
Teşekkür Sayısı: 0
30 mesaj
Kayıt Tarihi:Kayıt: Nis 2008

Harikasın.nette bulamadıgımı cok basit sekilde anlattın.Bugun aklıma geldi sinir oldum.Neden insanlar birseyi anlatırken hic bilmeyenin anlayacagı gibi bastan anlatmazlar.Şu şudur bu bu işe yarar şurdan girer yaparsın,amacı şudur demez.Bir site açıp bildiklerimi detayına kadar yazmayı isterdim.Ancak o kadar yoğunumki gündüzleri iş,geceleride bilgisayar basında elimdeki projeleri bitirmeye calısıyorum.C#ye de merak sardım.Projelerimi programlama ile yapabilirim diye dusundum.
 
Allah razı olsun.

PcMaKeR
18-08-2009, 23:58   |  #6  
PcMaKeR avatarı
Yıllanmış Üye
Teşekkür Sayısı: 6
8,935 mesaj
Kayıt Tarihi:Kayıt: Eki 2005
Alıntı: alonestreet  
Bir site açıp bildiklerimi detayına kadar yazmayı isterdim.
3 tane site hazırlıyorum şuan. Ortalam 2.5 - 3 ay sonra faaliyete geçecek. Nette bulamayacağın bir çok basit ama etkili örnekler olacak özel kullanıcı sayfaları... fazla konuşmamayım :Ç
 
Bende akşamları programlamaya bakamıyorum zorluyorum bakmak için. MEslek programlamacılık olduğu için sabah akşam program bayıyor.
 
Nettekilerin çoğu uzun kod yazarlar ama bir halta yaramaz kafan karışır.
 
En az kod en fazla iştir prensibim.