在网格视图和数据上添加额外的列

min*_*lee 4 c# mysql asp.net gridview datagridview

我有一个网格视图,在搜索数据库后填充,之后我在 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);
}
Run Code Online (Sandbox Code Playgroud)

foreach 循环底部的值distanceResult我希望将这些结果添加到 gridview 自己的列的末尾

关于如何做到这一点有什么想法吗?

我正在制作一个网络应用c#程序asp.net

希望你能理解我的问题

Con*_*Fan 5

您可以在绑定 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();
Run Code Online (Sandbox Code Playgroud)

然后将 BoundField 添加到 GridView:

<asp:GridView ID="gvDistance" runat="server" ...>
    <Columns>
        ...
        <asp:BoundField DataField="DistanceResult" ... />
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)