对 DataTable.DataSource 的 LINQ 查询

2023-12-26

我正在尝试对 DataTable 执行 LINQ 查询并在另一个 DataTable 中显示结果。我的源数据表看起来像这样:

DataTable myDataTable = new DataTable();
myDataTable.Columns.Add("OrderID", typeof(int));
myDataTable.Columns.Add("Date", typeof(DateTime));
myDataTable.Columns.Add("UnitsPurchased", typeof(int));

填充后生成的 DataTable 如下所示:



Order ID   Date    Units Purchased  
16548    10/15/09      250  
17984    11/03/09      512   
20349    01/11/10      213  
34872    01/15/10      175
  

我当前的 LINQ 查询如下所示:

IEnumerable<DataRow> query = (from row in myDataTable.AsEnumerable()
                              where row.UnitsPurchased > 200
                              select new
                              {
                                 row.OrderID,
                                 row.Date,
                                 row.UnitsPurchased
                              }) as IEnumerable<DataRow>;

resultDataTable.DataSource = query.CopyToDataTable<DataRow>();

每次我运行此代码查询都是空的。我可以看到as IEnumerable<DataRow>是罪魁祸首,但它对我来说没有任何意义,因为DataTable.AsEnumerable()返回一个IEnumerable<DataRow>。任何帮助,将不胜感激。


当您选择 new { } 时,您实际上会得到一个IEnumerable<(Anonymous Type)>, not IEnumerable<DataRow>。所以你的as IEnumerable<DataRow>将返回 null,因为它不能直接转换。

Either select new MyDataRow(constructor using values...)或做某事,或者只是做var query =...没有as投掷。有一个msdn 文章 http://msdn.microsoft.com/en-us/library/bb669096.aspx关于将 CopyToDataTable 与非 DataRow 泛型参数一起使用,虽然我还没有深入阅读它,但选择新的 DataRows 可能是更简单的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 DataTable.DataSource 的 LINQ 查询 的相关文章

  • 如何用另一个静态变量初始化一个静态变量?

    静态1 hpp include
  • 错误:“运行所选代码生成器时出错:包恢复失败”

    我正在尝试将控制器添加到 ASP NET Core 项目中的解决方案中 当我尝试这样做时 我收到此错误 我收到相同的消息 为控制器添加最小依赖项和完整依赖项 我也有这个问题 使用实体框架添加控制器 gt 带有操作的 API 控制器 将给出
  • 提取单花括号内的值

    我想要一个收藏 value 一个字符串使用正则表达式 例如 lorem ipsum field1 lorem ipsum field2 lorem ipsum field1 lorem ipsum field2 field3 我会得到 fi
  • 为什么 fgets 接受 int 而不是 size_t?

    功能如strcpy malloc strlen 和其他各种接受他们的参数或返回值作为size t代替int or an unsigned int出于显而易见的原因 一些文件功能 例如fread and fwrite use size t以及
  • C 中的 '\0' 和 printf()

    在 C 入门课程中 我了解到在存储字符串时存储空字符 0在它的最后 但是如果我想打印一个字符串怎么办 printf hello 虽然我发现它并没有结束 0通过以下声明 printf d printf hello Output 5 但这似乎不
  • 如何在Unity Inspector中创建多维数组?

    如何在 Unity Inspector 中创建枚举多维数组并使其可序列化 以便我可以从不同的脚本调用它 public enum colors red blue green yellow cyan white purple public in
  • 如何生成可变参数包?

    给定不相关的输入是否可以生成非类型参数包 我的意思是 我想改变这一点 template
  • 为什么我收到编译错误“使用已删除的函数 'std::unique_ptr ...”

    我收到一条巨大的编译错误消息 c mingw include c 6 1 0 bits predefined ops h 123 18 error use of deleted function std unique ptr lt Tp D
  • 是否自初始化 'A a = a;'允许吗?

    此代码在运行时在复制构造函数中失败 但编译器 MSVS2008 没有发出警告 您能解释一下 最好引用标准 这段代码是否非法或什么 我理解 A a a 永远不应该写在第一位 但我正在寻找理论背景 class A public A p new
  • FFplay成功移入我的Winform中,如何设置它无边框?

    用这个代码 在 C 应用程序中显示 tcp 视频流 来自 FFPLAY FFMPEG https stackoverflow com questions 14201894 show a tcp video stream from ffpla
  • 在 Linq 查询中使用动态列名称

    foreach Dimension dimensions in Enum GetValues typeof Dimension var r new ReferenceTable dimensions referenceItems List
  • Rx 在不同的线程上生产和消费

    我试图通过此处的示例代码来简化我的问题 我有一个生产者线程不断地输入数据 并且我尝试在批次之间添加时间延迟来对其进行批处理 以便 UI 有时间渲染它 但结果并不如预期 生产者和消费者似乎在同一个线程上 我不希望批处理缓冲区在正在生成的线程上
  • 从 AuthorizeAttribute 继承的属性不起作用

    我目前正在尝试根据用户角色在新的 ASP MVC 5 应用程序中实现安全性 目标是防止用户在没有特定角色 或更高角色 的情况下访问某些控制器或控制器方法 根据到目前为止我所读到的问题 我创建了一个继承 AuthorizeAttribute
  • 快速将文本附加到文本框

    我有一个BackgroundWorker正在发布消息的线程 使用BeginInvoke在 GUI 中的文本框中 方法 write debug text 在文本框中显示文本使用AppendText并将文本写入Console 外观上是这样的Ba
  • 为什么我无法通过 lambda 捕获“this”指针?

    考虑以下代码 class A public void foo auto functor this A a this auto functor a The compiler won t accept this instead of a a g
  • 使用 DataGridViewCheckboxCell 真正禁用 DataGridView 中的复选框

    有谁知道如何使用 DataGridViewCheckboxCell 禁用 DataGridView 中的复选框 我可以将其设置为只读 并设置背景颜色 但我无法让复选框本身显示为禁用状态 有什么想法吗 Guess 你必须自己画 http so
  • Membership.ValidateUser() 的目的是什么

    我一直在学习有关MembershipProvider类 我认为Membership ValidateUser 方法应该用于登录用户 然而我刚刚了解到有一个FormsAuthentication Authenticate 目的是什么Valid
  • 如何使用 .NET 捕获我的桌面视频?

    我想知道是否有任何方法可以使用 NET 捕获我的桌面的视频 截屏视频 我并不是在寻找截屏软件 而只是在寻找一种可以让我自己生成桌面视频的技术 我想过拍摄多个屏幕截图 但我不确定如何以编程方式生成带有图像序列的视频 有人有主意吗 Thanks
  • 小数精度

    我使用小数类型进行高精度计算 货币 但我今天遇到了这个简单的划分 1 1 37 这应该再次得到 37 http www wolframalpha com input i 1 2F 281 2F37 29 http www wolframal
  • 推断“x => { throw .. }”的 Lambda 与重载方法中的 Func 匹配吗?

    我不明白为什么 C 最终在以下 LINQPad 代码中执行不正确的扩展方法 void Main Actual Sync Action Expected Sync Action Run x gt x Dump Actual Async Tas

随机推荐

  • 如何异步加载和显示数据

    我正在使用 ASP NET 和 SQL Server 我想从数据库异步加载数据并立即显示部分加载的数据 假设查询结果中有大量记录 3 秒后 它加载了 20 然后我必须立即处理并显示 20 的数据 而不是等待完整的响应 我知道 jQuery
  • 缩放会导致 CSS 形状之间出现间隙

    我有一系列 CSS 六边形 我想对不同的视口宽度应用 CSS 缩放变换 尽管我的六边形形状中出现了间隙 这个问题在任何比例值的 Firefox 上都最为明显 如果缩放为非整数值 它也会出现在 Chrome 中 Firefox 还显示了令人困
  • 由方向改变触发的方法

    当 iOS 设备方向发生变化时 是否有一种运行方法的方法 我只想更改屏幕上的某些对象方向 而不更改其他对象的方向 我使用什么代表等等 干杯 新手 取决于你什么时候想做出反应 如果在旋转之前 override来自 UIViewControll
  • 具有非主键值的 FindAsync

    public class Foo public int Id get set public int UserId get set 这似乎是异步执行此操作的方法 DatabaseContext db new DatabaseContext F
  • Activity 中的 AppWidgetManager.getAppWidgetIds 返回空列表

    我有一个应用程序小部件 我正在尝试从活动中更新它 为此 我需要 appwidget id 我用过AppWidgetManager getAppWidgetIds但它总是返回一个空列表 我也用过AppWidgetManager getInst
  • 如何将pom中的依赖项加载到eclipse项目的类路径中?

    我正在使用 eclipse helios 和 m2eclipse 插件 对于从 CVS 签出的 Maven 项目 我如何告诉 Eclipse 自动从 pom xml 中提到的依赖项中获取该项目所需的所有 jar 文件 谢谢你的时间 m2ec
  • 检查 QImage 是否有 Alpha 通道

    我想知道是否QImage我加载包含一个 Alpha 通道 我已经知道了QImage hasAlphaChannel 可以告诉我我正在使用的图像格式是否支持 Alpha 通道 但是有没有办法知道它是否确实在加载的图像中使用 这里有我的代码片段
  • Facebook Android SDK 3.5 中的自定义 Facebook 登录按钮图像

    类似地这个问题 https stackoverflow com questions 16496738 is it possible to change facebook login button image in facebook andr
  • MySQL 在两个(或更多)给定值中选择最小值/最大值

    是否有可能SELECT两个或多个值中的最小值或最大值 我需要这样的东西 SELECT MAX VALUE A date0 B date0 AS date0 MIN VALUE A date1 B date1 AS date1 FROM A
  • 如何在 PowerShell 中悄悄删除包含内容的目录

    使用PowerShell 是否可以删除某些包含文件的目录而不提示确认操作 Remove Item LiteralPath foldertodelete Force Recurse 或者 使用较短的版本 rm path r force
  • 在 Visual Studio Code(Vim 扩展)中使用 CAPS 而不是 ESC

    I use Debian and I switched from Vim to Visual Studio Code when I noticed that there is a Vim movement extension for VS
  • 如何使用 GCC 生成 ELF 文件?

    我正在 Linux 操作系统上编写 C 和 C 代码 并且使用 GCC 完成我的代码后 我想生成一个 ELF 文件 我只能生成 a out 文件 但我不需要它 如何获取 ELF 文件 ELF 文件出现的原因是什么 或者是否可以用这个程序生成
  • Java中this.variable和variable的区别[重复]

    这个问题在这里已经有答案了 我不明白这两个代码之间的真正区别 尽管它们都有效 如果我使用这个类 public class City private String name 我不明白这个方法之间的区别 public String getNam
  • Team City Git“主机密钥验证失败”

    我想使用 TeamCity 从远程 Git 存储库中提取代码 更新文件 并暂存并提交到本地存储库 然后将提交的文件推送回远程存储库 拉取和更新很好 如果我打开 git bash 并git push origin master然后提交 由提交
  • 如何从 Laravel 5 中的 HTTP 响应获取自定义标头?

    我正在尝试从 Laravel 中的请求访问自定义标头 标头名称是 accessing from 列出 Laravel 中的所有标头 只给我 标准标头 但我设置的标头不存在于列表中 检查浏览器网络选项卡 我可以看到标头已发送 所以我想知道如何
  • 仅删除特定行的新行/换行符

    我有以下输出 02 01 31 OFFLINE 02 02 31 ONLINE 我希望它成为 02 01 31 OFFLINE 02 02 31 ONLINE 我找到了一种删除所有换行符 换行符的方法sed a N ba s n g 然而它
  • cscript - 在控制台的同一行上打印输出?

    如果我有一个将行输出到屏幕的脚本 如何避免每次打印后的 换行 Example for a 1 to 10 WScript Print REM do something next 预期输出应该是 Not 过去我曾经打印 向上箭头字符 ASCI
  • 使用 matplotlib 在鼠标悬停时使用 x,y 坐标以外的其他标签来标记散点图上的点

    我正在尝试使用 DataCursor 方法 https stackoverflow com a 4674445 1301710 https stackoverflow com a 4674445 1301710 使用 matplotlib
  • 以编程方式覆盖文本文件

    我正在尝试从 Android 应用程序覆盖文本文件 我已经做了的是 我在一项活动中使用以下方法创建了一个文本文件 FileOutputStream create file null OutputStreamWriter osw null c
  • 对 DataTable.DataSource 的 LINQ 查询

    我正在尝试对 DataTable 执行 LINQ 查询并在另一个 DataTable 中显示结果 我的源数据表看起来像这样 DataTable myDataTable new DataTable myDataTable Columns Ad