当前位置:  开发笔记 > 编程语言 > 正文

如何重新排序DataView对象中的项目

如何解决《如何重新排序DataView对象中的项目》经验,为你挑选了1个好方法。

我有一个带有productID和productName的DataView对象,我从Products Table获取所有项目并将它们存储在Cache中.我想获得用户购买的物品,以便他在不使用其他查询或加入表格的情况下购买.

即.产品DataView 1. Foo 2. Foo2 3. Foo3

使用RowFilter过滤到ProductsBoughtByUser((1,3)中的productID)UserProducts DataView 1.Foo 3.Foo3

现在用户首先购买了Foo3,我如何根据正确的(按时间顺序)数组重新排序项目.即3 1

谢谢



1> Jim Schubert..:

以下是DataView.Sort 的语法:

private void SortByTwoColumns()
{
    // Get the DefaultViewManager of a DataTable.
    DataView view = DataTable1.DefaultView;

    // By default, the first column sorted ascending.
    view.Sort = "State, ZipCode DESC";
}

从您的原始帖子,听起来您只有产品ID和产品名称.除非您还要检索采购/订单日期,否则无法在内存中对这些进行排序.

可能最简单的方法是将日期列(PurchaseDate)添加到您已经使用的sql语句中,然后执行 view.Sort = "PurchaseDate DESC";

这样,您不必再编写另一个语句或第二次点击数据库进行此类排序.

编辑:DataRowView具有整数和字符串索引器.例如:

foreach (DataRowView row in dataView)
{ 
   var value = row["COLUMN_NAME"]; 
}

该列存储为对象,因此您必须检查null并转换为您的数据类型

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有