Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Datatable-在asp.net c中使用Windcard的行筛选器#_C#_Asp.net_Datatable_Dataview - Fatal编程技术网

C# Datatable-在asp.net c中使用Windcard的行筛选器#

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%'";

我有datatable,它有如下数据现在我需要根据列角色对包含值5:4的行进行归档,但是当我通过dataview rowfilter进行筛选时,我得到的行的值为75:4,这也是错误的,下面是我尝试过的代码,有人能帮我使用dataview筛选特定的值吗

数据表;e看起来像上面

下面是我试图过滤的c代码

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%'";


你是否至少尝试过任何建议的解决方案?你是否至少尝试过任何建议的解决方案?