Delphide olduğu gibi lookup yapma

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
a.mikayil
Üye
Mesajlar: 83
Kayıt: 07 Ağu 2010 01:55

Delphide olduğu gibi lookup yapma

Mesaj gönderen a.mikayil »

Merhaba arkadaşlar. Delphide çalışanların malumu, iki ilişkili tablodan birinde diğerinde olan ID kolonunun değerini tuta fakat istediğimiz her hangi başka değeri göstere biliyorduk. Mesela Products ve Orders tabloları ProducID üzerinden ilişkililer. Ben C#ta Orders tablosuna yeni bir kolon ekleyip Orders tablosundakı ProductID kolonunun değeri o satır için neye eşitse Products tablosundaki o ProductIDye uygun ProductName i eklediğim yeni kolonda göstermek istiyorum. Delphide bu çok basitti. Tablonun üzerinde sağ tıklayıp New field diyorduk.Ardından da KeyField, LookupDataSet, LookupField ve Result Fieldi seçiyorduk. Ama burada o kadar kolay değil. Yoksa C#ta böyle bir şey yok da ben mi bilmiyorum? Saygılar.
İstikrar sürsün, Türkiye'm büyüsün inşallah.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Delphide olduğu gibi lookup yapma

Mesaj gönderen aslangeri »

s.a.
bildiğim kadarı ile c# delphideki TTable yapısı yok. sorgunu sql ile oluşturduğun zaman otomatik olarak istediğin şey olur zaten.
kolay gelsin.d
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Delphide olduğu gibi lookup yapma

Mesaj gönderen orhancc »

Kod: Tümünü seç

private void LoopUp_Load(object sender, EventArgs e)
{
this.InvoicesTableAdapter.Fill(this.db1DataSet.Invoices);
this.CustomersTableAdapter1.Fill(this.db1DataSet.Customers);
//Customers BindingSource

BindingSource CustomersBindingSource = new BindingSource();
CustomersBindingSource.DataSource = this.db1DataSet;
CustomersBindingSource.DataMember = "Customers";
BindingSource InvoicesBindingSource = new BindingSource();
InvoicesBindingSource.DataSource = this.db1DataSet;
InvoicesBindingSource.DataMember = "Invoices";
/*
* creat the datagridview and the rest of the columns
* set the datasource for this gridview = invoicesbindingsource
*/
 

DataGridViewComboBoxColumn LookUpColumn = new DataGridViewComboBoxColumn();
//this property to select the proper customer from the combobox

//customerID here is the Foreign key from invoices table

this.LookUpColumn.DataPropertyName = "CustomerID";
//set the datasource for this column from where to retrieve its values

this.LookUpColumn.DataSource = this.CustomersBindingSource;
this.LookUpColumn.ValueMember = "CustomersID";
this.LookUpColumn.DisplayMember = "CustomersNames";
this.LookUpColumn.HeaderText = "Customers_Names";
this.LookUpColumn.Name = "LoopUpColumn";
//add the column to the datagridview

this.MyDataGridView.Columns.Add(LookUpColumn);
}
Kullanıcı avatarı
a.mikayil
Üye
Mesajlar: 83
Kayıt: 07 Ağu 2010 01:55

Re: Delphide olduğu gibi lookup yapma

Mesaj gönderen a.mikayil »

Aslan abi Allah senden razı olsun. Orhan abi sana da çok müteşekkirim. Demek böyle oluyormuş. Peki bir şey sorayım. Bunu DataRelation objectle yapmak olmaz mı? Mesela diyelim ki, Customers ve Invoce tabloları CUstomerID üzerinden ilişkililer. Bu durumda CustomerInvoıce DataRelation da Customer parent, Invoıce sa child tablo oluyor. Ben Invoıce tablosuna yeni bir kolon ekleyip, Expression özelliğini parent tablodaki CustomerName kolonunun değerine eşitleyemez miyim? Bunu denedim ama olmuyor. Ben

Kod: Tümünü seç

  newCol.Expression=CustomerInvoce.Parent.Columns["CustomerName"] 

yazdığım zaman "Cannot find column CustomerName" diyor. Ama

Kod: Tümünü seç

newCol.Expression=CustomerInvoce.Parent.Columns["CustomerID"] 

diye yazdiğımda pekala çalışıyor. Bunun nedeni ne ola ki?
İstikrar sürsün, Türkiye'm büyüsün inşallah.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Delphide olduğu gibi lookup yapma

Mesaj gönderen aslangeri »

s.a.
c# konusunda o kadar bilgim yok malesef..
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla