Delphide olduğu gibi lookup yapma
Delphide olduğu gibi lookup yapma
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.
Re: Delphide olduğu gibi lookup yapma
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
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
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Delphide olduğu gibi lookup yapma
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);
}
Re: Delphide olduğu gibi lookup yapma
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
yazdığım zaman "Cannot find column CustomerName" diyor. Ama
diye yazdiğımda pekala çalışıyor. Bunun nedeni ne ola ki?
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.
Re: Delphide olduğu gibi lookup yapma
s.a.
c# konusunda o kadar bilgim yok malesef..
kolay gelsin.
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
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim