我有一个网格视图,在搜索完数据库之后填充,之后我在这样的foreach循环中进行了一些计算
foreach(DataRow datarow in ds.Tables[0].Rows){
resturantPostCodeData = checkpostcode(datarow["PostCode"].ToString().Trim());
foreach(DataRow dr in resturantPostCodeData.Tables["geo"].Rows){
rLatitude = Convert.ToDouble(dr["lat"].ToString().Trim());
rLongitude = Convert.ToDouble(dr["lng"].ToString().Trim());
}
distanceResult = distance(myLatitude, myLongitude, rLatitude, rLongitude);
}
foreach循环底部的值distanceResult我希望这些结果在其自己的列中添加到gridview的末尾
有关如何做到这一点的任何想法?
我正在c#和asp.net中创建一个Web应用程序
希望你理解我的问题
解决方法:
您可以在绑定GridView之前将列添加到DataTable:
DataTable dt = ds.Tables[0];
dt.Columns.Add(new DataColumn("DistanceResult", System.Type.GetType("System.Double")));
foreach (DataRow row in dt.Rows)
{
...
row["DistanceResult"] = distance(...);
}
gvDistance.DataSource = dt.DefaultView;
gvDistance.DataBind();
然后将BoundField添加到GridView:
<asp:GridView ID="gvDistance" runat="server" ...>
<Columns>
...
<asp:BoundField DataField="DistanceResult" ... />
</Columns>
</asp:GridView>