c# – 在gridview和数据上添加一个额外的列

我有一个网格视图,在搜索完数据库之后填充,之后我在这样的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>
上一篇:首页> C#>如何使DataGridViewTextBoxColumn换行到一个新行,如果它的文本太长?


下一篇:mysql – 在Datagridview中使用Format显示数据