惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
C
Check Point Blog
B
Blog RSS Feed
G
Google Developers Blog
H
Help Net Security
博客园 - Franky
Blog — PlanetScale
Blog — PlanetScale
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Recent Announcements
Recent Announcements
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
DataBreaches.Net
小众软件
小众软件
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
T
Tailwind CSS Blog
J
Java Code Geeks
MyScale Blog
MyScale Blog
雷峰网
雷峰网
有赞技术团队
有赞技术团队
博客园 - 聂微东

博客园 - 威风剑

sqllite数据库操作帮助类 创建按钮的两种方法 jquery自定义事件 操作div - 威风剑 - 博客园 jQuery基本操作篇 jquery操作select时怎么产生事件 - 威风剑 - 博客园 jquery操作radio/checkbox/select 及其相关 - 威风剑 - 博客园 操作下拉框 - 威风剑 - 博客园 jquery操作select下拉列表框 - 威风剑 - 博客园 jqury操作表格 - 威风剑 - 博客园 .NET SESSION的使用及原理 DateTime.Now.ToString("yyyyMMddHHmmssfff") WebMethod 特性的 EnableSession Thread.Sleep(0) 【转】DataGridView新特色(vs2005) showModalDialog和showModelessDialog使用心得 Transact SQL 语 句 功 能 SQL语句 SQL语句
Ilist转换成dataset (转)
威风剑 · 2008-01-29 · via 博客园 - 威风剑

转换成DataSet的通用的方法如下:

    Private Function ConvertToDS(ByVal lst As IList, ByVal typ As System.Type) As DataSet

        Dim obj As Object

        Dim ds As New DataSet

        Dim tbl As DataTable = ds.Tables.Add(typ.Name)

        ' Get the public properties.

        Dim myPropertyInfo As System.Reflection.PropertyInfo() = typ.GetProperties((System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance))

        Dim pi As System.Reflection.PropertyInfo

        For Each pi In myPropertyInfo

            tbl.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()))

        Next

        For Each obj In lst

            Dim dr As DataRow = tbl.NewRow

            For Each pi In myPropertyInfo

                dr(pi.Name) = pi.GetValue(obj, Nothing)

            Next

            tbl.Rows.Add(dr)

        Next

        Return ds

    End Function

使用上面的方法来生成DataSet的方法如下:

Dim Cust As New CustomerBR

Dim customerLst As IList

customerLst = Cust.GetCustomers("from Customers")

Dim myType As System.Type = GetType(Customers)

DataGrid1.DataSource = ConvertToDS(customerLst, myType).Tables(0)