站点列表,500米以下向后排序,经度纬度确认
datatable数据,从中取两个值,与设定好的值进行比较,如果大与这个值就跟datatable数据的下一行数据进行交换,否则进行下一轮比较。期间我用过冒泡排序,但知道是否正确,请高手帮我看看
System.Data.DataRow dr = table.Items.NewRow();
for (int i = 0; i < table.Items.Rows.Count-1; i++)
{
//距离大于500米,数据行就交换位置
if (DataConversion(table.Items, i, sModel))
{
dr.ItemArray = table.Items.Rows[i].ItemArray;
table.Items.Rows[i].ItemArray = table.Items.Rows[i + 1].ItemArray;
table.Items.Rows[i + 1].ItemArray = dr.ItemArray;
}
}
判断大于50米的方法
public bool DataConversion( System.Data.DataTable dt,int i,TY.Model.WebApp.SearchConditionInfo sModel)
{
if (TY.BLL.WebApp.StationInfoBLL.Instance.CountDIS(Convert.ToDecimal(dt.Rows[i]["Latitude"]), Convert.ToDecimal(dt.Rows[i]["Longitude"]), sModel.Latitude, sModel.Longitude) > 500)//大于500米就返回true
return true;
else
return false;
}
是啊 你sql语句里写好排序方式爱怎么排怎么排
哥哥,我想问问,为什么不让排序操作在数据库端完成?
已经解决,谢谢各位。