How to display data xml in datagridview c#

Cara baca data xml ke datagridviewc# sangatlah mudah pastikan kalian sudah memahami strucktur dari xml serta belajar LINQ atau perulangan didalam C# karena kita akan menggunakan ini dalam menampilkan data pada datagridview. Dalam membaca xml kita harus membaca element dari xml tersebut dengan mengunakan XElement. XElement merupakan class yang terdapat pada namespace System.Xml.Linq kalian bisa membaca lebih detail di website resmi microsoft disini. Disini saya mengunakan visual studio cummunity 2017 untuk pengerjaan kode ini seharus nya sama saja dari semua versi oke kita lanjut ke tutorial nya guess jangan lupa share ke teman-teman kalian yah.. :)

Berikut adalah contoh pengunaan element dalam membaca Data String XML

using System.Linq;
using System.Xml.Linq;

XElement
 doc = XElement.Parse(DataXML); IEnumerable<XElement> Datas = doc.Elements();

Setelah membuat kode untuk membaca XML sekarang buat class property dari masing field yang ada di xml sebagai berikut:

class Test
    { 
        public string NameContact { getset; }
        public string City { getset; }
        public string PostCode { getset; }
        public string Country { getset; }
        public string Marital { getset; }
        public string Food { getset; } 
    }

Setelah membuat class property dari masing data field XML sekarang kita panggil supaya data xml di masukan kedalam class property sebagai berikut:

Pertama kalian bisa mengunkan LINQ seperti kode berikut:

List<Test> DataContact = new List<Test>();
if(Datas != null)     { DataContact = (from itm in Datas select new Test() { City = itm.Element("City").Value, Country = itm.Element("Country").Value, Food = itm.Element("Food").Value, Marital = itm.Element("Marital").Value, NameContact = itm.Element("Name").Value, PostCode = itm.Element("Post").Value }).ToList();
    }

Atau bisa menggunakan foreach loop tinggal di ganti saja code LINQ Diatas dengan kode berikut:

foreach (XElement itm in Datas)
	{
	DataContact.Add(new Test
		{
		City = itm.Element("City").Value,
		Country = itm.Element("Country").Value,
		Food = itm.Element("Food").Value,
		Marital = itm.Element("Marital").Value,
		NameContact = itm.Element("Name").Value,
		PostCode = itm.Element("Post").Value
                 });
	}

Setelah data sudah masuk kedalam class proeperty sekang kita bisa panggil sebagai data source dataset supaya bisa ditampilkan ke dalam DataGridView berikut adalah kode yang bisa kalian gunakan:

var source = new BindingSource
	{
	    DataSource = DataContact
	};
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = source;

Berikut adalah kode string XML yang bisa kalian gunakan atau kalian bisa buat sendiri dengan xml generator atau bisa mengunakan REST API:

const string DataXML = @"<?xml version=""1.0"" encoding=""UTF-8"" ?>
	<Contact>
	    <record>
		<Name>Macon</Name>
		<City>Dunstable</City>
		<Post>59365</Post>
		<Country>Christmas Island</Country>
		<Marital>Single</Marital>
		<Food>pasta, cereals, salads</Food>
	    </record>
	    <record>
		<Name>Dillon</Name>
		<City>Castanhal</City>
		<Post>02127</Post>
		<Country>Libya</Country>
		<Marital>Common-Law</Marital>
		<Food>seafood, desserts</Food>
	    </record>
	</Contact>";

Disini saya mengunakan satu buah button BtnProcess_Click karena saya inggin data di process saat click button:


Ok sekian dulu yah guess tutorials nya semoga bermanfaat jika ada pertanyaan silakan komen di kolom komentar pasti saya akan balas yah guess. bye bye bye....

Previous Post
Next Post