从数据集中过滤记录 [英] Filter records from dataset

查看:85
本文介绍了从数据集中过滤记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的数据集

Here is my dataset

Id    prodid       date               subject
1 123 2011-12-16 00:41:59.000 test1

2 127 2011-12-15 00:41:59.000 test12


3 128 2011-12-14 00:41:59.000 test123

4 123 2011-12-16 00:41:59.000 test1

5 121 2011-12-10 00:41:59.000 test1234



我希望o/p为



I want o/p as

1 123 2011-12-16 00:41:59.000 test1

2 127 2011-12-15 00:41:59.000 test12

3 128 2011-12-14 00:41:59.000 test123

5 121 2011-12-10 00:41:59.000 test1234





or

2 127 2011-12-15 00:41:59.000 test12

3 128 2011-12-14 00:41:59.000 test123

4 123 2011-12-16 00:41:59.000 test1

5 121 2011-12-10 00:41:59.000 test1234



请在这里表示满意,我也希望将id字段用于绑定gridview

[edit]已删除SHOUTING,添加了代码块,将我的内容作为纯文本格式..."选项已禁用-OriginalGriff [/edit]



Please suugest here I want id field as well for binding gridview

[edit]SHOUTING removed, Code block added, "Treat my content as plain text..." option disabled - OriginalGriff[/edit]

推荐答案

更改您的sql选择命令

change your sql select command

select t.ID, t.ProdID, t.Date, t.Subject
from
(
 select Row_number() over(order by subject) as rowno, ID, prodid, date, subject
 from mytable
} as t
where t.rowno = 1




您可以在这里使用LINQ.

首先,编写查询以获取如下所示的不同值

vardistinctRows =(从ds.Tables [0] .AsEnumerable()中的行开始
将行< Int16>("ID")逐行分组
选择grouping.FirstOrDefault());

然后将结果值复制到数据表中,

DataTable dt = uniqueRows.CopyToDataTable();

该数据表将具有不同的记录,并根据ID进行过滤


如有任何疑问,请返回


You can make use of LINQ here.

First, write a query to get distinct values as given below

var distinctRows = (from row in ds.Tables[0].AsEnumerable()
group row by row.Field<Int16>("ID") into grouping
select grouping.FirstOrDefault());

Then copy result value to a datatable,

DataTable dt = distinctRows.CopyToDataTable();

This datatable will have distinct records, filtered based on ID


for any clarification, revert back


这篇关于从数据集中过滤记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆