Foxtable(狐表)用户栏目专家坐堂 → 把没有加载的表列出来,然后勾选表进行加载,请指点


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

主题:把没有加载的表列出来,然后勾选表进行加载,请指点

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
把没有加载的表列出来,然后勾选表进行加载,请指点  发帖心情 Post By:2024/5/20 10:39:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
项目打开时点击“加载数据表”,想打开一个对话框,把没有加载的表列出来,然后勾选表进行加载,(像初始化项目一样),该怎么整呢?请指点

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看




[此贴子已经被作者于2024/5/20 10:39:12编辑过]

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/20 11:29:00 [显示全部帖子]

列出外部数据源nwnd中的所有表名:

Dim lst As List(Of String)
lst = Connections("nwnd").GetTableNames
For Each 
nm As String In lst
    Output.Show(nm)

Next


列出内部数据源(shujuyuan)中的所有表名的代码怎么写?
这个代码放在哪里?
[此贴子已经被作者于2024/5/20 11:29:27编辑过]

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/20 11:52:00 [显示全部帖子]

然后怎么显示出来?
图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/20 16:05:00 [显示全部帖子]

上面的代码实现了所有表都可以列出来,
但是我设置了初始不加载表,"表B", "表C", "表D" 这几个表在项目打开后还没有加载进来,怎么在列表框里显示出来(已经加载的表不显示),然后勾选后再加载进来?
Select Case e.DataTableName
    Case "表B", "表C", "表D"  '初始不加载表
        e.Cancel = True
End Select
[此贴子已经被作者于2024/5/20 16:06:37编辑过]

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/20 16:39:00 [显示全部帖子]

那改变一下思路,不加载表数据,怎么写?

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/21 8:23:00 [显示全部帖子]

接上面的复选框,如我想把复选框内表A新的数据更新合并导入过来,下面的代码怎么加工到一块?

Dim ckl As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
Dim nms As New List(Of String)
For i As Integer = 0 To ckl.Items.count - 1 
    If ckl.GetItemChecked(i) Then
        nms.Add(ckl.Items(i))
    End If

合并导入:
    If CurrentTable.DataTable.Name = "表A" Then 
        Dim Result As DialogResult
        Result = MessageBox.Show("请注意,你的数据将要先全部清除,清除后再导入新的数据,现在开始吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            DataTables("表A").DataRows.Clear
            MessageBox.Show("数据已全部清除,现在开始导入新数据?", "提示")
            Syscmd.Table.QuickMerge()
            MessageBox.Show("数据已导入,请注意保存。", "提示")
        Else
            MessageBox.Show("数据未导入,请重新操作。", "提示")
        End If
    End If

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/21 9:13:00 [显示全部帖子]

麻烦指导下代码怎么写?
从复选框中选中“表A”,然后合并导入数据
Dim ckl As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
Dim nms As New List(Of String)
For i As Integer = 0 To ckl.Items.count - 1 
    If ckl.GetItemChecked(i) Then
        nms.Add(ckl.Items(i))
    End If
If nms.Count = 0 Then
    MessageBox.Show(
"
至少要选择一个表","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    
Return

End
 If
中间怎么连起来?如果勾选的是“表A”,

Dim 
mg As New Merger
mg
.SourcePath = "c:\data\表A.xls"
mg
.Format = "excel" '指定格式
mg
.SourceTableName = "表A" '指定要合并的表
mg
.DataTableName = "表A" '指定接收数据的表
mg
.Merge() '开始合并

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/21 9:56:00 [显示全部帖子]

DataTables("表A").DataRows.Clear
表A换成n怎么改写?

 回到顶部