Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 使用Linq的数据表联合_C#_Linq - Fatal编程技术网

C# 使用Linq的数据表联合

C# 使用Linq的数据表联合,c#,linq,C#,Linq,我的数据表dt有以下列 名称、值、键、IsMarkets、IsBudgets、ISProgram 我有3个复选框chkbxBudgetsSearch、chkbxMarketsSearch、chkbxProgramsSearch 我希望dt在以下条件下被过滤 如果chkbxMarketsSearch.IsChecked==true 应显示IsMarkets=True的所有行 如果chkbxBudgetsSearch.IsChecked==true 应显示IsBudgets=True的所有行 类似的

我的数据表dt有以下列

名称、值、键、IsMarkets、IsBudgets、ISProgram

我有3个复选框chkbxBudgetsSearch、chkbxMarketsSearch、chkbxProgramsSearch

我希望dt在以下条件下被过滤

如果chkbxMarketsSearch.IsChecked==true 应显示IsMarkets=True的所有行

如果chkbxBudgetsSearch.IsChecked==true 应显示IsBudgets=True的所有行

类似的程序

如果两个复选框都被单击,则
IsMarkets=True和IsBudgets=False/IsMarkets=False和IsBudgets=True的所有行 /应显示IsMarkets=True和IsBudgets=True

注意:它不仅需要IsMarkets=True和IsBudgets=True

它接近工会的运作
有人能为这件事给linq写信吗?

编辑:好的,现在问题已经改变了:

var result = Enumerable.Empty<DataRow>();
var linqTable = table.AsEnumerable();
if (chkbxMarketsSearch.IsChecked)
{
    results = results.Union(linqTable.Where(row => row.Field<bool>("IsMarkets"));
}
if (chkbxBudgetsSearch.IsChecked)
{
    results = results.Union(linqTable.Where(row => row.Field<bool>("IsBudgets"));
}
if (chkbxProgramsSearch.IsChecked)
{
    results = results.Union(linqTable.Where(row => row.Field<bool>("IsPrograms"));
}
// Probably best to call `ToList()` here before doing much more work...
var result=Enumerable.Empty();
var linqTable=table.AsEnumerable();
if(chkbxMarketsSearch.IsChecked)
{
results=results.Union(linqTable.Where(row=>row.Field(“IsMarkets”));
}
如果(chkbxBudgetsSearch.IsChecked)
{
results=results.Union(linqTable.Where(row=>row.Field(“IsBudgets”));
}
if(chkbxProgramsSearch.IsChecked)
{
results=results.Union(linqTable.Where(row=>row.Field(“IsPrograms”));
}
//在做更多工作之前,最好在这里调用'ToList()'。。。

请注意,如果没有勾选任何复选框,您将不会得到任何结果。

否如果任何一个条件为真,这将检索结果。这不是我想要的。fa例如,如果IsMarkets为真,IsBudgets为假,则只有那些IsMarkets为真的记录才应为真retreived@KuntadyNithesh当前位置我不明白。你是说你有q查询表中名为IsMarkets和IsBudgets的输入以及列?我的回答对您提出的问题是正确的,但听起来您并没有要求您实际需要的内容。您应该澄清您的问题。请参阅。一些示例数据将有助于……同时非常清楚查询的输入超出了数据表i的范围瑟夫。