2016-04-05 17 views
1

Bir datatable.select() ifadesindeki bir datatable değeriyle bir gridview değerini karşılaştırabilir misiniz? Eğer bu mümkün olursa, bunu kurmak için bir yol gibi görünüyor. Gridview satırlarıyla eşleşen datatable satırlarıyla çalışmam gerekiyor. Buna benzerdatatable.select() gridview ve datatable ile

: Eğer indt üzerine Seç çağırdığınızda

For Each gvRow As GridViewRow In gvMaps.Rows 

    For Each dtrow As DataRow In indt.Select(gvRow.DataItem("Policy") & "=" & dtrow("Policy") & " AND " & _ 
             "'" & gvRow.DataItem("LineCounty") & "'='" & dtrow("LineCounty") & "' AND " & _ 
              gvRow.DataItem("Section") & "=" & dtrow("Section")) 

    'code handling only returned rows from datatable.select() 

    Next 
Next 
+0

Bir DataView yerine '.Select 'yerine – Plutonix

cevap

2

Eğer bu şekilde yapamaz, seçme sorgusu formu isim = değerli bir şey beklediğini, bu yüzden bu iyi çalışabilir hayal (i tırnak karıştırılmış eğer özür)

dim query As String = "Policy='" & gvRow.DataItem("Policy") & "' AND " & _ 
         "LineCounty='" & gvRow.DataItem("LineCounty") & "' AND " & _ 
         "Section=" & gvRow.DataItem("Section") 
For Each dtrow As DataRow In indt.Select(query) 

Bu büyük bir veri kümesi için bu hızlı olmayacak ve bir sınıfta bu bilgilerden bazılarını (DataTable verileri) depolamak için daha iyi olabilir, söz konusu Temel bir sözlük kullanarak ilke, LineCounty, Bölüm üçüzlerine göre verileri almak için bir yöntem ..

+0

kullanabilirsiniz. Bu büyük bir veri kümesi olmayacak, ancak ben sizin noktanızı görüyorum. Yazdıklarınızı modellemek için ifademi değiştirdim ve bu hatayı "Nesne değişkeni veya blok değişkeni ayarlanmamış" olarak aldım. Bu benim gvRow nesnesinden mi bahsediyor? – madmike

+0

Sorguyu gerçekte indt.Select (...) çağıran satırdan, sorgu dizgisini hata ayıklayıcısında denetleyebileceğiniz şekilde (ve sorguyu oluşturan satırın hatada olmadığından emin olun) yukarıdaki gibi ayırmanızı tavsiye ederim.) ... ayrıca, DataTable'ın aslında bu hatayı bilmediğimden, tam olarak adlandırılmış tüm sütunlar olan Policy, LineCounty, Section .. içerdiğini doğrulayabiliriz. –

+0

tamam teşekkürler, bir gösteri ver. Yardımı takdir et. – madmike