以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]生成datatable (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144339) |
-- 作者:new4w -- 发布时间:2019/12/17 15:08:00 -- [求助]生成datatable 需求: 1、根据已有datatable及相关条件,生成新的datatable; 2、根据datarow的集合生成新的datatable; 百度搜到如下方法: private static DataTable GetNewTable(DataTable DT, string strCondition) { DataTable TempDT = DT.Clone(); DataRow[] Rows = DT.Select(strCondition); foreach (DataRow DR in Rows) { TempDT.ImportRow(DR); } return TempDT; } ———————————————— public DataTable ToDataTable(DataRow[] rows) { if (rows == null || rows.Length == 0) return null; DataTable tmp = rows[0].Table.Clone(); // 复制DataRow的表结构 foreach (DataRow row in rows) tmp.Rows.Add(row.ItemArray); // 将DataRow添加到DataTable中 return tmp; } ———————————————— 请问如何将上面代码应用于狐表,实现上面功能,实际使用的时候这个很重要,因为datatable有很多方法可以使用,但是有时候根据已有数据转换起来有点麻烦,还请一定帮忙!极度感谢; |
-- 作者:有点蓝 -- 发布时间:2019/12/17 15:20:00 -- 自行把代码转换为vbnet代码:http://converter.telerik.com/ 写全命名空间即可,比如DataTable改为system.data.DataTable
|
-- 作者:new4w -- 发布时间:2019/12/17 15:24:00 -- 命名空间啥的,实在不会,能否直接转换一个,另外转换完了,直接在外部引用哪里引用就可以吗? |
-- 作者:有点蓝 -- 发布时间:2019/12/17 15:35:00 -- 不会就上网百度学,不会不是理由。 全局代码 Private Shared Function GetNewTable(ByVal DT As system.data.DataTable, ByVal strCondition As String) As DataTable Dim TempDT As system.data.DataTable= DT.Clone() Dim Rows As system.data.DataRow() = DT.[Select](strCondition) For Each DR As system.data.DataRow In Rows TempDT.ImportRow(DR) Next Return TempDT End Function 调用 dim dt as system.data.DataTable = GetNewTable(foxtable.datatables("表A").basetable,“某查询条件”) |
-- 作者:new4w -- 发布时间:2019/12/17 17:12:00 -- 此主题相关图片如下:snipaste_20191217_170937.jpg 这个不对啊,前面提醒模块方法不能为share,我直接将Private Shared 改为了 public,但是也不对,确定不了,麻烦老师了
|
-- 作者:有点蓝 -- 发布时间:2019/12/17 17:43:00 -- Private Shared改为public Shared 。其它代码请认真看4楼,照搬 |
-- 作者:new4w -- 发布时间:2019/12/17 18:10:00 -- 找到原因了,4楼第一行 不对,应当是As system.data.DataTable 但是现在又出现问题了,生成的这个system.data.DataTable 跟狐表的datatable不是一个东西,用不了狐表的datatable的相关方法,如何解决这个?
|
-- 作者:有点蓝 -- 发布时间:2019/12/17 20:46:00 -- 没有办法解决,也没有任何办法转换。如果需要使用临时表,Foxtable有FIll方法,也有DataTableBuilder,还可以使用SQLcommand。 |