2013-11-22 108 views
0

我有一個存儲過程,用於提取客戶端的詳細信息,包括地址。地址的形式是90霍華德廣場,倫敦舊街,英國EC2 4RA,英國。現在,我怎麼能顯示爲將逗號分隔的地址分隔成同一列中的多行

90霍華德廣場

老街

倫敦

EC2 4RA

在aspx頁面的GridView。

+0

我能有一些代碼你在哪裏綁定地址字段? –

回答

0

您可以使用String.Split將您的地址分隔爲其部件的字符串[]。然後使用String.Trim刪除零件上的前導空格。然後使用gridview顯示字符串[]。

1

一個簡單的方法就是拆分這些字符串由逗號和填充DataTable,你可以爲網格爲DataSource使用:

var tblAddresses = new DataTable(); 
tblAddresses.Columns.Add("Place"); 
tblAddresses.Columns.Add("Street"); 
tblAddresses.Columns.Add("City"); 
tblAddresses.Columns.Add("Post Code"); 
tblAddresses.Columns.Add("Country"); 

string[] input = new[]{"90 Howard Square,Old street, London, EC2 4RA, Uk"}; 
foreach(string address in input) 
    tblAddresses.Rows.Add(address.Split(new[]{','}, StringSplitOptions.RemoveEmptyEntries)); 

現在將其設置爲數據源和數據綁定它:

grdAddresses.DataSource = tblAddresses; 
grdAddresses.DataBind(); 

GridViewAutoGenerateColumns屬性設置爲true並且完成。

編輯作爲@OGHaza曾這樣評價這給你比你真正想要的,這裏是剛剛插入地址標記版本:

tblAddresses.Columns.Add("Address-Part"); 
string[] input = new[]{"90 Howard Square,Old street, London, EC2 4RA, Uk"}; 
var allAddressParts = input 
    .SelectMany(addr => addr.Split(new[]{','}, StringSplitOptions.RemoveEmptyEntries)); 
foreach (string part in allAddressParts) 
    tblAddresses.Rows.Add(part); 
+0

@OGHaza:哎呀,編輯我的答案。 –

+0

哎呀,我刪除了我的評論,假設現在你已經改變了你的答案沒有意義。然後我讀你的答案.... – OGHaza