Kısa Tanım:
 
Formda tanımlı iki farklı tablonun elemanlarını çapraz eşleştirerek yeni bir tabloya atama işlemi örneğidir.


Açıklama:
 

İki farklı tablonun elemanları iç içe döngüler içerisinde sorgulanarak farklı bir tabloda birleştirilebilir.

Aşağıdaki örnekte; FLOWTESTDB veritabanında tutulan malzemeler formda malzeme listesi tablosuna getirilmektedir. Kullanıcı tedarikçiler tablosuna bir kayıt eklediğinde talep satırları tablosunda malzeme ve tedarikçinin yanyana listelendiğindiği yeni bir satır oluşur. Yeni tabloya satır ekleyen kod Tedarikçiler tablosunun değer değiştirildiğinde kısmına eklenmiştir.

 


Kod Örneği:
 
string mail="";string ad="";string mkod="";string aciklama="";string miktar="";
TalepTablosu.Content.Items.Clear();

for(int k =0;k<MalzemeListesi.Content.Items.Count;k++)
{
for (int i = 0; i <Tedarikciler.Content.Items.Count; i++)
{
//tablolardaki değerlerin bulunduğu kısım
try{ad=Tedarikciler.GetValue(Tedarikciler_Columns.Unvan,true,i).ToString();}catch{ad="";}
try{mail=Tedarikciler.GetValue(Tedarikciler_Columns.Mail,true,i).ToString();}catch{mail="";}
try{mkod=MalzemeListesi.GetValue(MalzemeListesi_Columns.Kod,true,k,"CODE").ToString();}catch{mkod="";}
try{aciklama=MalzemeListesi.GetValue(MalzemeListesi_Columns.Kod,true,k,"NAME").ToString();}catch{aciklama="";}
try{miktar=MalzemeListesi.GetValue(MalzemeListesi_Columns.Miktar,true,k).ToString();}catch{miktar="";}

//metin ve sayısal değişkenlerin eklendiği kısım
Dictionary<string, object> satir = new Dictionary<string, object>();
satir.Add(TalepTablosu_Columns.Mail,mail);
satir.Add(TalepTablosu_Columns.Unvan,ad);
satir.Add(TalepTablosu_Columns.Miktar,miktar);
satir.Add(TalepTablosu_Columns.Aciklama,aciklama);

//açılır pencere değişkeninin eklendiği kısım
System.Collections.Generic.Dictionary<string, object> acilirpenceredeger= new System.Collections.Generic.Dictionary<string, object>();
acilirpenceredeger.Add("CODE", mkod);
acilirpenceredeger.Add("NAME", aciklama);

NPopupVariableValue popUpVal = new NPopupVariableValue();
popUpVal.Items.Add(acilirpenceredeger);
satir.Add(TalepTablosu_Columns.Kod,popUpVal);

TalepTablosu.Content.AddRow(satir);
mail="";ad=""; mkod=""; aciklama="";miktar="";
}
}

 
Akış Dosyası (.xnm):
 
Aşağıdaki dosyayı indirerek uygulamaya aktarabilirsiniz. İçeri aktarma işleminin nasıl yapıldığına dair bilgi için Aktar bölümünü inceleyebilirsiniz.

Tablo Çapraz Birleştirme.nxm