远程服务正在返回未排序的数据集。表格列是“标题”、“作者”、“版本”、“价格”,我们被告知如果价格为 0,则该书“缺货”。
我通过将其转换为DataView然后对dataview进行排序然后绑定gridview来实现排序功能。
每个想法都可以,除非按价格排序,所有 0 价格都排在首位。我怎样才能做到这一点?请帮忙。我需要将所有 0 价格放在底部,并排序没有 0 作为价格的行?
编辑:- 当前代码如下
DataTable dt = dtu.Table(q);
if (dt.Rows.Count>0)
{
searchpanel.Visible = true;
norecfound.Visible = false;
}else{searchpanel.Visible = false;
norecfound.Visible = true;}
DataTable table = new DataTable();
table.Columns.Add("BookCode", typeof(string));
table.Columns.Add("TITLE", typeof(string));
table.Columns.Add("AUTHOR_NAME", typeof(string));
table.Columns.Add("EDITION", typeof(string));
table.Columns.Add("PRICE", typeof(int));
table.Columns.Add("ldistance", typeof(double));
//id,TITLE,AUTHOR_NAME,EDITION,PRICE
for (int i = 0; i < dt.Rows.Count; i++)
{
object[] ob = dt.Rows[i].ItemArray;
table.Rows.Add(ob[0].ToString(), ob[1].ToString(), ob[2].ToString(), ob[3].ToString(), ob[4].ToString(), getcorrespondingdist(ob));
}
DataView dataView = new DataView(table);
if (HiddenField1.Value.Length < 5)
{
if (Request.QueryString["sort"]!=null)
{
HiddenField1.Value = Request.QueryString["sort"];
}
else
{
HiddenField1.Value = " ldistance DESC";
}
}
dataView.Sort = HiddenField1.Value;