如何用 List(Of t) 填充 DataTable 或将 List(Of t) 转换为 DataTable?

2023-12-26

我读过很多关于这个主题的文章;其中以及最近.NET - 将通用集合转换为数据表 https://stackoverflow.com/questions/701223/net-convert-generic-collection-to-datatable。不幸的是,一切都无济于事。

我有一个通用的结构集合:

Private Structure MyStruct
Dim sState as String
Dim lValue as Long
Dim iLayer as Integer
End Structure

Dim LOStates As New List(Of MyStruct)

我需要用这个结构列表填充数据表,但不知道如何去做。我在 Visual Studio 2008 中使用 vb.net。

任何见解将不胜感激


您链接的代码假设成员被声明为属性。你没有申报财产。您可以使其与反射一起工作:

Imports System.Reflection
...

      Public Shared Function ConvertToDataTable(Of T)(ByVal list As IList(Of T)) As DataTable
        Dim table As New DataTable()
        Dim fields() As FieldInfo = GetType(T).GetFields()
        For Each field As FieldInfo In fields
          table.Columns.Add(field.Name, field.FieldType)
        Next
        For Each item As T In list
          Dim row As DataRow = table.NewRow()
          For Each field As FieldInfo In fields
            row(field.Name) = field.GetValue(item)
          Next
          table.Rows.Add(row)
        Next
        Return table
      End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用 List(Of t) 填充 DataTable 或将 List(Of t) 转换为 DataTable? 的相关文章

  • 全球化自定义数字格式 - 可变小数点

    我正在尝试更改公司应用程序中现有的数字格式 以使其对国际用户更具可读性 这是一个股票交易应用程序 因此大多数股票价格的数字精确到小数点后 2 位 例如 gt 17 23 我们还可以得到精确到小数点后 4 位的价格变动 因此细价股票可能是 0
  • 在 Visual Basic 2010 的控件中显示 PDF

    我刚刚安装了 Visual Basic 2010 浏览了一些有关如何显示文件的教程 但找不到任何有关如何选择现有 PDF 文件并将其嵌入表单的材料 任何正确方向的建议或指示都会很棒 谢谢 只需在表单中嵌入浏览器控件并将其导航到 PDF 文件
  • 在 Visual Studio 2017 中使用 .wid 文件

    我已经使用 Visual Studio 2017 Professional 创建了一个安装项目 vdproj file 我想使用本页中建议的密码对话框 https www codeproject com Tips 659367 Passwo
  • 将图像另存为“位图图像”以访问数据库

    我能够使用内存流成功将图像保存到 Access 数据库表 我保存图像的列的数据类型为 OLEObject 当我打开表时 我在此图像列中看到 长二进制数据 值 问题是 当我在此数据库中创建任何报告时 我无法看到图像 而当我在MSPaint中打
  • VB换行转义字符?

    在C中我使用 1st line 1 n2nd line 对于换行符 但是 VB 呢 我知道 1st line VbCrLf 2nd line 但它太冗长了 VB中换行符的转义字符是什么 我要打印 1st line 2nd line 我尝试使
  • 中继器按钮命令参数为空字符串

    我对这个失去了理智 即使命令参数已设置 我的按钮也会获得空字符串的命令参数 我已经验证它在调试模式下设置为正确的 ID 但是当我稍后在中继器 ItemCommand 事件中访问此命令参数时 命令参数是空字符串 我不知道为什么 我最终得到了
  • 停止 ASP.NET 按钮的页面重新加载

    NET 应用程序中 我插入了一个调用 Javascript 函数的按钮 OnClientClick事件 和 VB NET 函数 OnClick event
  • 在word中添加超链接,使用vb.net

    我目前正在尝试通过 VB 程序在 word 中添加一个指向 web url 的超链接 我正在跌跌撞撞地尝试找到正确的语法以及完成此任务所需的内容 因为我收到了很多无用的 VBA 示例 而这根本不是我需要的 我的代码如下所示 sPara2 o
  • 如何从 System.Web.HttpPostedFileBase 转换为 System.Web.HttpPostedFile?

    在尝试实现 MVC 文件上传时example http www hanselman com blog ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludin
  • VB.NET“With”声明——拥抱还是避免?

    在工作中 我经常从事一些项目 其中某些对象的许多属性必须在其构建过程中或在其生命周期的早期进行设置 为了方便和可读性 我经常使用With语句来设置这些属性 我发现 With Me Elements PropertyA True Proper
  • 将本地 HTML 文件/代码导入 Web 浏览器

    我正在尝试让本地 HTML 文件显示在WebBrowser在 VB NET 程序中 我正在使用下面的代码 但它似乎不起作用 我不明白为什么 first method WebBrowser1 Navigate index html secon
  • 逐对计算行相似度百分比并将其添加为新列

    我有一个像这个示例一样的日期框架 我想找到相似的行 不重复 并逐个计算相似度 我发现这个解决方案 https stackoverflow com questions 52650932 how to calculate the similar
  • 由于 NA,无法对数据帧进行子集化(过滤)

    为什么在 dplyr 下面的代码中filter不返回与基本 R 子集相同的 data frame 事实上 它们都没有按预期工作 我想删除观察 行 同时 b 1 AND c 1 也就是说 我只想删除第三行 require dplyr df l
  • 如何判断一个类是否被某个特定属性修饰

    我试图确定接口是否用特定属性装饰 例如我有以下界面
  • IEnumerable 作为 DataTable 性能问题

    我有以下扩展 它生成一个DataTable从一个IEnumerable public static DataTable AsDataTable
  • VB - 如何读取和写入二进制文件?

    如何从任何文件读取原始字节数组 Dim bytes as Byte 然后将该字节数组写回到新文件中 我需要它作为字节数组来在两者之间进行一些处理 我目前正在使用 To read Dim fInfo As New FileInfo dataP
  • 在javascript中访问隐藏字段值

    我的表单中有一个隐藏字段 我正在服务器上设置隐藏字段的值并尝试从 javascript 访问该值 我收到错误 无法获取属性 值 的值 对象为 null 或未定义 如果我查看源代码 则会设置隐藏字段值 并且隐藏字段的 ID 与我正在调用的 I
  • 如何在vb.net中对datagridview的3列进行排序

    下面我想对 ProductCode ColorCode 和 Size 列进行排序 请指导 对 大小 列中的信息进行排序 Size Number sequence XS 1 S 2 M 3 L 4 XL 5 XXL 6 2L 7 3L 8 4
  • 循环访问 VB.NET 中的控件

    我正在创建一个国际象棋程序 它由六十四个黑白背景颜色交替的图框组成 我已经给它们命名了pba1 pba2 pbb1 pbb2 pbc1等等 现在 我只想循环遍历黑色的 例如 我只想循环遍历pba1 pbb2 pbc3等 如何在 VB NET
  • F# 之于 IronPython/IronRuby 就像 C# 之于 VB.NET 一样?

    我刚刚听了Chris Smith 谈论 F 的播客 http www code magazine com codecast index aspx messageid 7feb501f 25c8 432a 9624 97082f1e75e8他

随机推荐