2016-12-14 62 views
0

我有與我使用該數據來填充表與一個DataTable如下存儲過程使用的特定列:在一個DataTable

foreach (DataRow row in dt.Rows) 
{ 
    html.Append("<tr>"); 
    foreach (DataColumn column in dt.Columns) 
    { 
     html.Append("<td>"); 
     html.Append("<a target='_blank' href= " + "'" + row[dt.Columns["subCategoryURL"]] + "'" + " >"); 
     html.Append(row[column.ColumnName]); 
     html.Append("</a>"); 
     html.Append("</td>") 
    } 
    html.Append("</tr>"); 
} 

我目前擁有的SP返回的信息2列:subCategoryName ,subCategoryDe​​scription。我想補充一個第三列subCategoryURL該中心將作爲一個標籤的下面的鏈接:

<td> 
    <a target="_blank" href="#">Dealer Support</a> 
</td> 
<td> 
    <a target="_blank" href="#">Support information for dealer management</a> 
</td> 

,如何我針對每列專門建表?我試圖使用html.Append(row[dt.Columns["subCategoryURL"]]); 但它沒有返回所需的結果。接下來我可以做什麼?

+0

你確定'DataTable'中的列名完全是'subCategoryURL'嗎?因爲你做了什麼應該工作。 – kiziu

+0

該子類別的URL結束在表中...我如何將其他2的目標定位在循環 –

回答

1

的子類URL結束了在表......我怎麼會針對其他2在環路

用同樣的方法,即:

foreach (DataRow row in dt.Rows) 
{ 
html.Append("<tr>"); 
html.Append("<td>"); 
html.Append("<a target='_blank' href= " + "'" + row["subCategoryURL"].ToString() + "'" + " >"); 
html.Append(row["subCategoryName"].ToString()); 
html.Append("</a>"); 
html.Append("</td>"); 

html.Append("<td>"); 
html.Append(row["subCategoryDescription"].ToString()); 
html.Append("</td>"); 

html.Append("</tr>"); 
} 

行[」 subCategoryName「]會爲您顯示當前行的」subCategoryName「列的值。

1

要從與特定列(columnName)對應的DataRow(數據行)中獲取特定類型(T)的項目,可以使用以下內容。

dataRow.Field<T>(columnName) 

所以,

string url = row.Field<string>(subCategoryURL) 

可能工作。

請記住,T必須與存儲在DataRow的指定列中的數據具有相同的類型。如果subCatergoryURL指向一行雙打,上面將拋出一個InvalidCastException。

參見here

+0

中,您應該指定'row.Field '應該對應於特定數據表列的正確數據類型,否則應該「OP」可能會逐字逐句說明你在說什麼。 – MethodMan