Foxtable(狐表)用户栏目专家坐堂 → [原创]提供一个System.Data.DataTable转Foxtable.DataTable的函数


  共有5168人关注过本帖树形打印复制链接

主题:[原创]提供一个System.Data.DataTable转Foxtable.DataTable的函数

帅哥哟,离线,有人找我吗?
qqzwc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:160 积分:1129 威望:0 精华:0 注册:2020/2/11 11:42:00
[原创]提供一个System.Data.DataTable转Foxtable.DataTable的函数  发帖心情 Post By:2022/11/2 15:53:00 [只看该作者]

看到之前论坛不少人求助.Net原生的System.Data.DataTable转Foxtable中DataTable办法。
其实除了常规的直接绑定到窗口中的Table显示的方法外(Tables("窗口1_Table1").DataSource = dt),其中dt既可以是DataTable也可以是System.Data.DataTable
我自己简单写了个直接遍历完成转换的方法,有需要的请参考

新增一个内部函数,名字假设就叫 数据表转换

'System.Data.DataTable 转 Foxtable.DataTable
Dim dt1 As System.Data.DataTable = Args(0)
Dim dtb As New DataTableBuilder("temp")

For Each c As System.Data.DataColumn In dt1.Columns
    dtb.AddDef(c.ColumnName, c.DataType, c.MaxLength)
Next 

Dim dt2 As DataTable = dtb.Build(True)

Dim cnt As Integer = dt1.Rows.Count
If cnt > 0 Then
    dt2.AddNew(cnt)
    For i As Integer = 0 To cnt - 1
        For Each c As System.Data.DataColumn In dt1.Columns
            dt2.DataRows(i)(c.ColumnName) = dt1.Rows(i)(c.ColumnName)
        Next 
        i += 1
    Next
End If
Return dt2

使用方法
之前代码假设已生成了一个dt1变量,类型为System.Data.DataTable

Dim dt2 As DataTable = Functions.Execute("数据表转换", dt1)

dt2就是你要的结果
[此贴子已经被作者于2022/11/2 16:21:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zcl
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:284 积分:2169 威望:0 精华:0 注册:2014/9/12 16:35:00
  发帖心情 Post By:2022/11/3 12:19:00 [只看该作者]

谢谢分享

 回到顶部
帅哥哟,离线,有人找我吗?
chen37280600
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1273 积分:7906 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2022/11/3 14:45:00 [只看该作者]

你找的是这个把:《把组合统计结果的fxDataSource(既是原生System.Data.DataTable)转json输出给前端,解决BS开发模式下此强大的多表联查工具只能用在C/S领域table组件的局限性》
[此贴子已经被作者于2022/11/3 14:45:18编辑过]

 回到顶部