LINQ

2016-03-28 28 views
0

kullanarak DataTable üzerinde 2 veya daha fazla sütun seçin DataTable'ım var ve metin kutusunda girişi eşleşen DataTable üzerinde birden fazla sütun seçmek istiyorum. Aşağıdaki kod sadece 1 sütun seçer.LINQ

var result = from data in mDataTable.AsEnumerable() 
       where data.Field<string>("Code") == txtCode.Text 
       select data.Field<string> ("Description"); 

    foreach (var res in result) { 

     txtxDescription.Text = res.ToString(); 
    } 

LINQ kullanarak DataTable üzerinde 2 veya daha fazla sütun nasıl seçebilirim?

+1

Neden tüm satırı seçmezseniz:

var rows = mDataTable.AsEnumerable() .Where(data => data.Field<string>("Code") == txtCode.Text); foreach(DataRow r in rows) { txtxDescription.Text = r.Field<string>("Description"); } 

başka seçenek, anonim nesnelere Proje verilerine nedir? Böylece ihtiyacınız olan tüm sütunlara erişebileceksiniz. –

cevap

2

tam satırları (DataRow nesnesi) seçip neden gerekli tüm değerleri almıyorsunuz?

var result = from data in mDataTable.AsEnumerable() 
      where data.Field<string>("Code") == txtCode.Text 
      select new 
        { 
         Description = data.Field<string> ("Description"), 
         Code = data.Field<string> ("Code") 
        }; 

foreach (var res in result) 
{ 
    // last value always replace `txtxDescription.Text` ?? 
    txtxDescription.Text = res.Description; 
    txtxCode.Text = res.Code; 
}