DataTable如何实现倒序?

tjqianblue 2005-07-28 04:10:51
我想写个对DataTable进行倒序的通用函数,却失败了,请高手指点。
...全文
1499 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
marvelstack 2005-07-31
  • 打赏
  • 举报
回复
使用DataView,
DataView myDataView= dataTable.DefaultView;

myDataView.Sort = "State, ZipCode DESC";
kalpa117 2005-07-31
  • 打赏
  • 举报
回复
现在搞不清你到底想要多简单??你想两条语句就实现?借用楼上兄弟的话,SQL的ORDER BY是需要列名的。
bys_home 2005-07-31
  • 打赏
  • 举报
回复
采用dataview吧。阿门。
tjqianblue 2005-07-31
  • 打赏
  • 举报
回复
还有更好的解决方案吗?
qianblue 2005-07-29
  • 打赏
  • 举报
回复

protected DataTable TurnOver(DataTable dt)
{
// DataTable rt= new DataTable();
int rc = dt.Rows.Count;
DataRow[] rows=new DataRow[rc];
for(int i=rc-1;i>=0;i--)
{
// rows[i] = dt.NewRow();
rows[i] = dt.Rows[i];
dt.Rows.RemoveAt(i);
}
// dt.Rows.Clear();
for(int i=0;i<rc;i++)
{
// dt.Rows.Add(rows[i]);

}
// dt.AcceptChanges();
return dt;
}
flyskywlh 2005-07-28
  • 打赏
  • 举报
回复
SQL的语句也要ORDER BY 列名啊,呵呵.
tjqianblue 2005-07-28
  • 打赏
  • 举报
回复
DataTable如果不指定排序的话是有个默认排序的。
现在就是想只把这默认排序反过来就可以了
tylike 2005-07-28
  • 打赏
  • 举报
回复
不传列名当然不行,总不想脑子想用什么就按什么排吧,都得指定,电脑是死的
深山老翁 2005-07-28
  • 打赏
  • 举报
回复
排序要以某列或多列加排序规则(升或降)才得,如果没有或不做参数传,那你还写什么通用函数!
tjqianblue 2005-07-28
  • 打赏
  • 举报
回复
如果不传列名、以及排序的规则
可以实现吗?
lovefootball 2005-07-28
  • 打赏
  • 举报
回复
排序一般就用select方法,你可以把列名,以及排序的规则传进来就可以了

oyljerry 2005-07-28
  • 打赏
  • 举报
回复
用strSort 等定义排序 DESC倒序
tjqianblue 2005-07-28
  • 打赏
  • 举报
回复
我想写的是通用函数,即不知道DataTable具体列名的情况下倒序,适用于任何DataTable
athossmth 2005-07-28
  • 打赏
  • 举报
回复
datatable有select,dataview有sort,附datatable.select程序

private static void GetRowsByFilter()
{

DataTable customerTable = new DataTable( "Customers" );
// Add columns
customerTable.Columns.Add( "id", typeof(int) );
customerTable.Columns.Add( "name", typeof(string) );

// Set PrimaryKey
customerTable.Columns[ "id" ].Unique = true;
customerTable.PrimaryKey = new DataColumn[] { customerTable.Columns["id"] };

// Add ten rows
for( int id=1; id<=10; id++ )
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) } );
}
customerTable.AcceptChanges();

// Add another ten rows
for( int id=11; id<=20; id++ )
{
customerTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id) } );
}

string strExpr;
string strSort;

strExpr = "id > 5";
// Sort descending by column named CompanyName.
strSort = "name DESC";
// Use the Select method to find all rows matching the filter.
DataRow[] foundRows =
customerTable.Select( strExpr, strSort, DataViewRowState.Added );

PrintRows( foundRows, "filtered rows" );

foundRows = customerTable.Select();
PrintRows( foundRows, "all rows" );
}

110,538

社区成员

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

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

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