我有一个存储过程可以提取客户端的详细信息,包括地址。地址是90霍华德广场,旧街,伦敦,EC2 4RA,英国的形式。现在我如何将其显示为
<90>霍华德广场旧街
伦敦
EC2 4RA
屋
在aspx页面gridview上。
答案 0 :(得分: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();
将GridView
s AutoGenerateColumns
属性设置为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);
答案 1 :(得分:0)
您可以使用String.Split将地址分成其各部分的字符串[]。然后使用String.Trim删除部件上的前导空格。然后使用gridview显示字符串[]。