Jump to content
TNC-TR
KintaRo

C# Devexpress Ayrıntılı Grid (Master/detail Viev)

Recommended Posts

Grid kontrollerinde veri listelemeye daha önce bir çok kez değindik. Bu sefer ayrıntılı bir tablo görünümü oluşturalım. Bunun için DevExpress eklentisine ihtiyacımız var. Bu eklenti paketi sitemizde ve internette bir çok yerde var.

 

Bu iş için iki tane datatable tipinde tablo lazım. ve bunların birer kolonu bir biriyle eşleşmeli. Ben örnek olarak bir cari tablo oluşturdum ve bu cari kayıtlara ait harektleri listeledim. Master tablodaki Kod sütunu ile ayrıntı tablodaki Müşteri Kodu kolonları bir biriyle uyuşuyor dikkat ederseniz. Daha sonra bunları DataSet ile birbirine bağlıyoruz ve olaylar gelişiyor.

 

Not: proje VS 2013 CE ve DevExpress 14,2 ile yapılmıştır.

 

[spoiler]

using System;
using System.Data;
using System.Windows.Forms;

namespace DevEx_GridControl_Master_Detail
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            DataTable master = new DataTable();
            DataTable detail = new DataTable();
            DataSet relation = new DataSet();

            master.Columns.Add("Kod");
            master.Columns.Add("İsim");
            master.Columns.Add("Şehir");
            master.Columns.Add("Telefon");

            master.Rows.Add("101", "Ali", "Mersin", "");
            master.Rows.Add("102", "Mustafa", "Hatay", "");
            master.Rows.Add("103", "Mehmet", "Ankara", "");
            master.Rows.Add("104", "Şakir", "Denizli", "");
            master.Rows.Add("105", "Mahmut", "İzmir", "");
            master.Rows.Add("106", "Recep", "Aydın", "");

            detail.Columns.Add("Tarih");
            detail.Columns.Add("Açıklama");
            detail.Columns.Add("Borç");
            detail.Columns.Add("Alacak");
            detail.Columns.Add("Müşteri Kodu");

            detail.Rows.Add("01.01.2015", "ELDEN", "10,00", "", "101");
            detail.Rows.Add("02.01.2015", "BANKADAN", "", "20,00", "101");
            detail.Rows.Add("03.01.2015", "KREDİ KARTI", "33,00", "", "101");
            detail.Rows.Add("04.01.2015", "ELDEN", "35,00", "", "102");
            detail.Rows.Add("05.01.2015", "BANKADAN", "", "44,00", "102");
            detail.Rows.Add("06.01.2015", "BANKADAN", "100,00", "", "102");
            detail.Rows.Add("07.01.2015", "KREDİ KARTI", "120,00", "", "103");
            detail.Rows.Add("08.01.2015", "BANKADAN", "", "50,00", "103");
            detail.Rows.Add("09.01.2015", "ELDEN", "60,00", "", "103");
            detail.Rows.Add("10.01.2015", "KREDİ KARTI", "98,00", "", "104");
            detail.Rows.Add("11.01.2015", "KREDİ KARTI", "", "100,00", "104");
            detail.Rows.Add("12.01.2015", "ELDEN", "80,00", "", "104");
            detail.Rows.Add("13.01.2015", "BANKADAN", "", "70,00", "105");
            detail.Rows.Add("14.01.2015", "KREDİ KARTI", "100,00", "", "105");
            detail.Rows.Add("15.01.2015", "ELDEN", "", "90,00", "105");
            detail.Rows.Add("16.01.2015", "BANKADAN", "70,00", "", "106");
            detail.Rows.Add("17.01.2015", "ELDEN", "", "50,00", "106");
            detail.Rows.Add("18.01.2015", "KREDİ KARTI", "80,00", "", "106");


            relation.Tables.Add(master);
            relation.Tables.Add(detail);

            relation.Relations.Add("Ayrıntı", master.Columns["Kod"], detail.Columns["Müşteri Kodu"]);

            gridControl1.LevelTree.Nodes.Add(relation.Relations["Ayrıntı"].RelationName, gviewDetail);

            gridControl1.DataSource = relation.Tables[0];
        }
    }
}
 

[/spoiler]

 

9nRMY8E.png

https://yadi.sk/d/Qk7UzV9HheeSe
  • Like 4

Share this post


Link to post
Share on other sites

Bende açılmadı hatı satırına git dedim

 

            DevExpress.XtraGrid.GridLevelNode gridLevelNode1 = new DevExpress.XtraGrid.GridLevelNode();
            this.gviewDetail = new DevExpress.XtraGrid.Views.Grid.GridView();
            this.gridControl1 = new DevExpress.XtraGrid.GridControl();
            this.gviewMaster = new DevExpress.XtraGrid.Views.Grid.GridView();
 
Bende şu sürüm kurulu
DevExpress_v2014.1.6.rar
 
Ama birşeyleri bulamadığını söylüyor
pre_1436395256__adsz.jpg
Edited by korasoglu

Share this post


Link to post
Share on other sites

DevExpress 15 indirdim olmadı 14.2 bulamadım türkçe birşey yok link varmı acaba

Share this post


Link to post
Share on other sites

Hocam bende böyle bir hata veriyor devexpres elemanlarından ne eklersem yapıyor ama tema çalışıyor.

pre_1447582336__adsz.jpg

Share this post


Link to post
Share on other sites

İş yerinde 15.1 ile denedim " gviewDetail " burada hata veriyor. Ama indirdiğim çalışıyor.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×