datatable.select()排序问题

zsw514573739 2014-02-25 09:38:16
//获取用户所有的信息,并放在XML文件中
public static void SethyxxXml()
{
try
{
string sql = "select from erp_hyxx where bz01 like '%专家%' order by right(cast(power(10,7) as varchar)+ljbf,7) desc";
DataTable dt = dao_sqlserver.query_sql_and_return_dataTable(sql);
dt.TableName = "table";
dt.WriteXmlSchema("D:\\erper/erp/hyxxSchema.xml");
dt.WriteXml("D:\\erper/erp/hyxx.xml");
}
catch (Exception ex){ }
}
当网页加载的时候将加载页面,如下图的的专家列表,


当选择一次条件就更新一次查询结果,部分代码如下,
//选择一次,就查询一次
public static DataTable getinfo(string where,ref int countpage)
{
try
{
DataTable dt = GethyxxXml();
//=dt.Rows.Count;
// DataRow[] dr = dt.Select(where);
DataRow[] dr = dt.Select(where);
countpage= dr.Count();
dt = dt.Clone();//克隆一个datetable
foreach (DataRow item in dr)
{
dt.Rows.Add(item.ItemArray);
}
return dt;
}
catch { return null; }
return null;
}
(注意:dt.Select(where,"按ljbf字段降序")累计被访字段"ljbf"为varchar类型)

问题:如何按ljbf字段排序?用dt.Select方法。
...全文
1031 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
md5e 2014-02-26
  • 打赏
  • 举报
回复
//克隆框架,添加一列,并设置为自增字段 dt2.Columns.Add("OrderID", typeof(int)); dt2.Columns["OrderID"].AutoIncrement = true; dt2.Columns["OrderID"].AutoIncrementSeed = 1; dt2.Columns["OrderID"].AutoIncrementStep = 1; //与源数据合并 dt2.Merge(dt); //设置显示条件及设置排序 dt2.DefaultView.RowFilter = "id>1"; dt2.DefaultView.Sort = "OrderID DESC";//这里为了方便验证,用了降序,你要的应该是不用DESC的
md5e 2014-02-26
  • 打赏
  • 举报
回复
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string));
dt.Rows.Add(new object[] { 3, "cc" });
dt.Rows.Add(new object[] { 1, "aa" });
dt.Rows.Add(new object[] { 2, "bb" });


DataTable dt2 = dt.Clone();
dt2.Columns.Add("OrderID", typeof(int));
dt2.Columns["OrderID"].AutoIncrement = true;
dt2.Columns["OrderID"].AutoIncrementSeed = 1;
dt2.Columns["OrderID"].AutoIncrementStep = 1;
dt2.Merge(dt);
dt2.DefaultView.RowFilter = "id>1";
dt2.DefaultView.Sort = "OrderID DESC";

GridView1.DataSource = dt2;
GridView1.DataBind();

zsw514573739 2014-02-26
  • 打赏
  • 举报
回复
dt.select("id>5","id desc"); 楼上的这样写,我出现错误,程序条到catch了,
_老吴 2014-02-25
  • 打赏
  • 举报
回复
用datatable的select方法时有两个参数的方法 第一个是筛选条件,第二个是排序,如 dt.select("id>5","id desc");
wind_cloud2011 2014-02-25
  • 打赏
  • 举报
回复
http://blog.csdn.net/ceclar123/article/details/7945377

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧