I have a problem with master detail in Devexpress. I have 3 tables. An intermediate table, one of which is the computer list, the other is the programs, the other is the program computer list.
In this computer list grid, the computer’s brand, model, personnel using it, installation date and installed programs will be listed. But these installed programs take up too much space on the main grid and I need to make main details. I just couldn’t do it. how can I do it?
public partial class FormBilgisayarListesi : DevExpress.XtraEditors.XtraForm
{
dbPcKayitEntities3 db = new dbPcKayitEntities3();
public FormBilgisayarListesi()
{
InitializeComponent();
GlobalEvents.DataChanged += GlobalEvents_DataChanged;
Listele();
}
private void GlobalEvents_DataChanged(object sender, EventArgs e)
{
Listele();
}
public void Listele()
{
var degerler = (from b in db.BilgisayarTABLO
join p in db.PersonelTablosu on b.PersonelID equals p.PersonelID
select new
{
b.BilgisayarID,
b.BilgisayarAdi,
b.BilgisayarModeli,
Programlar = (from bp in db.ProgramBilgisayar
join pr in db.ProgramTABLO on bp.ProgramID equals pr.ProgramID
where bp.BilgisayarID == b.BilgisayarID
select pr.ProgramAdi).ToList(),
b.KurulumTarihi,
PersonelAdi = p.PersonelAdi
}).ToList();
var bilgisayarListesi = degerler.Select(x => new
{
x.BilgisayarID,
x.BilgisayarAdi,
x.BilgisayarModeli,
Programlar = string.Join(", ", x.Programlar),
x.PersonelAdi,
x.KurulumTarihi
}).ToList();
gridControl1.DataSource = bilgisayarListesi;
gridView1.OptionsBehavior.Editable = false;
foreach (DevExpress.XtraGrid.Columns.GridColumn column in gridView1.Columns)
{
Console.WriteLine("Column Name: " + column.FieldName);
}
var columns = gridView1.Columns;
if (columns["BilgisayarID"] != null)
columns["BilgisayarID"].Caption = "Bilgisayar ID";
else
Console.WriteLine("'Bilgisayar ID' sütunu bulunamadı.");
if (columns["BilgisayarAdi"] != null)
columns["BilgisayarAdi"].Caption = "Bilgisayar Marka";
else
Console.WriteLine("'Bilgisayar Marka' sütunu bulunamadı.");
if (columns["BilgisayarModeli"] != null)
columns["BilgisayarModeli"].Caption = "Bilgisayar Model";
else
Console.WriteLine("'Bilgisayar Model' sütunu bulunamadı.");
if (columns["Programlar"] != null)
columns["Programlar"].Caption = "Programlar";
else
Console.WriteLine("'Programlar' sütunu bulunamadı");
if (columns["PersonelAdi"] != null)
columns["PersonelAdi"].Caption = "Personel Adı";
else
Console.WriteLine("'Personel Adı' sütunu bulunamadı.");
if (columns["KurulumTarihi"] != null)
columns["KurulumTarihi"].Caption = "Kurulum Tarihi";
else
Console.WriteLine("'Kurulum Tarihi' sütunu bulunamadı.");
gridView1.BestFitColumns();
}
I tried many times but I couldn’t achieve master detail.
user26512082 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.