C# Datatable-在asp.net c中使用Windcard的行筛选器#
我有datatable,它有如下数据现在我需要根据列角色对包含值5:4的行进行归档,但是当我通过dataview rowfilter进行筛选时,我得到的行的值为75:4,这也是错误的,下面是我尝试过的代码,有人能帮我使用dataview筛选特定的值吗 数据表;e看起来像上面 下面是我试图过滤的c代码C# Datatable-在asp.net c中使用Windcard的行筛选器#,c#,asp.net,datatable,dataview,C#,Asp.net,Datatable,Dataview,我有datatable,它有如下数据现在我需要根据列角色对包含值5:4的行进行归档,但是当我通过dataview rowfilter进行筛选时,我得到的行的值为75:4,这也是错误的,下面是我尝试过的代码,有人能帮我使用dataview筛选特定的值吗 数据表;e看起来像上面 下面是我试图过滤的c代码 DataView dv1 = new DataView(dt); dv1.RowFilter = "Role like'%5:4%'";
DataView dv1 = new DataView(dt);
dv1.RowFilter = "Role like'%5:4%'";
dt1 = dv1.ToTable();
不要使用非常有限且过时的
RowFilter
,但它将Linq转换为数据表:
var matchingRows = from row in dt.AsEnumerable()
let roles = row.Field<string>("Role").Split('/')
where roles.Contains("5:4")
select row;
如果要使用这些匹配行创建新数据表:
if( hasMatchingRows )
{
DataTable tblMatches = matchingRows.CopyToDataTable();
}
如果您只想知道matching.rows的初始列:
List<string> initials = matchingRows.Select(r => r.Field<string>("Initial")).ToList();
List initials=matchingRows.Select(r=>r.Field(“Initial”)).ToList();
在本例中,它只包含
NML
和GGRA
。不要使用RowFilter
,后者非常有限且过时,但与DataTable无关:
var matchingRows = from row in dt.AsEnumerable()
let roles = row.Field<string>("Role").Split('/')
where roles.Contains("5:4")
select row;
如果要使用这些匹配行创建新数据表:
if( hasMatchingRows )
{
DataTable tblMatches = matchingRows.CopyToDataTable();
}
如果您只想知道matching.rows的初始列:
List<string> initials = matchingRows.Select(r => r.Field<string>("Initial")).ToList();
List initials=matchingRows.Select(r=>r.Field(“Initial”)).ToList();
本例中仅包含NML
和GGRA
。替换
dv1.RowFilter = "Role like'%5:4%'";
与
替换
dv1.RowFilter = "Role like'%5:4%'";
与
你是否至少尝试过任何建议的解决方案?你是否至少尝试过任何建议的解决方案?