2008-12-22 18 views
8

DataView'daki bir sütundan değer nasıl alınır?

DataView dvPricing = historicalPricing.GetAuctionData().DefaultView; 
DataView dvPricing = historicalPricing.GetAuctionData().DefaultView; 

dvPricing.ToTable().Columns["GrossPerPop"].ToString(); 
dvPricing.ToTable().Columns["GrossPerPop"].ToString(); 

cevap

7

Sen satırını belirtmek gerekir değeri almak istediğiniz Muhtemelen tablo satırlarında daha fazla olurdum.Rows [index] ["GrossPerPop"] ToString()

+0

Tamam, teşekkürler, ben de bundan korkuyordum. – Xaisoft

+0

Neden korkuyorsun? Aksini nasıl elde edersiniz? – configurator

+0

Biliyorum. Sadece kendini düşünerek. – Xaisoft

4

Bir değer elde etmek için bir DataRow kullanmanız gerekir; sütun başlıkları değil verilerde değerler var.

string val = table.Rows[rowIndex].Field<string>("GrossPerPop"); 

veya LINQ olmadan:

string val = (string)table.Rows[rowIndex]["GrossPerPop"]; 

(değilse ToString() kullanın ... bir dize veri varsayarak)

LINQ olarak, yardımcı olabilecek bir uzantısı yöntemi yoktur

bir DataRowView ile DataView yerine DataTable, daha sonra aynı işleri varsa:

string val = (string)view[rowIndex]["GrossPerPop"]; 
2

@Marc Gravell .... Cevabınız aslında bu sorunun cevabına sahiptir. Sen VB.NET herkes için

string val = (string)DataView[RowIndex][column index or column name in double quotes] ; 
// or 
string val = DataView[RowIndex][column index or column name in double quotes].toString(); 
// (I didn't want to opt for boxing/unboxing) Correct me if I have misunderstood. 
0

aşağıdaki gibi veri görünümünden verilere erişebilir:

Dim dv As DataView = yourDatatable.DefaultView 
dv.RowFilter ="query " 'ex: "parentid = 1 " 
for a in dv 
    dim str = a("YourColumName") 'for retrive data 
next