2010-11-18 14 views
1

Veri kaynağım harici bir kaynaktan yüklendiğinde, sütundan biri int. DataTable'a, bu int'nin açıklamasını içeren bir sütun eklemek istiyorum. Bir Dictionary varsa veya bazı durumlarda bir şey gibi de:Sütun ekle ve arama verileriyle birlikte DataTable güncelleştirin

Pair<int,string> mapping_values[] = { 
    new Pair<String, int>("start", 3), 
    new Pair<String, int>("end", 6), 
    ... etc. 
}; 

DataTable bir "STATUS_VALUE", Şimdi mapping_values

DataTable tbl = ...; 
tbl.Columns.add("Status Text",typeof(string)); 

yılında int eşleştiren bir tamsayı içeren, İsterdim Bu yeni Durum Metni sütununun değerlerini ile eşleştirmek için tping ["status_value"] değeri tamsayı (bu durumda 3 veya 6) ile eşleştiği ve "start" veya "end" ifadesini girdiği mapping_values ​​dizesinden. Linq bana yardım edebilir mi, başka bir şey mi?

cevap

1

Sütunu bir döngüde el ile doldurmanız gerekir.

Bunu yapmak için eşlemenizi bir sözlükte koymalısınız. Örneğin

:

var mapping = mapping_values.ToDictionary(p => p.Value1, p => p.Value2); 
foreach(DataRow row in table.Rows) 
    row["Status Text"] = mapping[row.Field<int>("Status Value")]; 
İlgili konular