开发者

HowTo reorder items in DataView object

I have a DataView object with productID and productName, i get all items from Products Table and store them in Cache. I want to get items that user bought in order he bought them without using another query or joining tables.

ie. Produc开发者_如何转开发ts DataView 1. Foo 2. Foo2 3. Foo3

Filtering to ProductsBoughtByUser using RowFilter (productID in (1,3)) UserProducts DataView 1.Foo 3.Foo3

Now user first bought Foo3, how do i reorder items based on correct ( chronological ) Array. ie 3 1

Thanks


Here is the syntax for 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";
}

From your original post, it sounds like you only have Product ID and Product Name. You can't sort these in memory unless you're also retrieving a purchase/order date.

Probably the easiest thing to do would be to add the date column (PurchaseDate) to your sql statement that you're already using, then do a view.Sort = "PurchaseDate DESC";

That way, you don't have to write another statement or hit the database a second time for this sort.

Edit: The DataRowView has integral and string indexers. e.g.:

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

The column is stored as an object, so you'll have to check for null and convert to your data type

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜