Foxtable(狐表)用户栏目专家坐堂 → 获取列名问题


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

主题:获取列名问题

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
获取列名问题  发帖心情 Post By:2024/5/31 12:51:00 [只看该作者]



1.当选择第一个组合框某个数据表后,在第二个组合列表框内把这个数据表的列名显示出来,

2.点击“获取列名”,选择某一个Excel表,在第三个组合列表框内把这个表的列名显示出来,

3.如果两个组合框内的列名一样,就勾选上对号。

以上的代码怎么写?谢谢指导
[此贴子已经被作者于2024/6/3 9:19:17编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107703 积分:547842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/31 13:43:00 [只看该作者]


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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/31 16:16:00 [只看该作者]

获取选择的目录下的文件代码怎么改?


Dim dlg As New FolderBrowserDialog
If dlg.ShowDialog = DialogResult.Ok Then
    MessageBox.Show("你选择的目录是:" & dlg.SelectedPath, "提示")
    Dim ckl As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox4")
    For Each dt As DataTable In DataTables
       If dt.SourceType = 1 Then
          ckl.Items.Add(dt.name)
     End If
    Next
End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107703 积分:547842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/31 16:21:00 [只看该作者]


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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/5/31 16:35:00 [只看该作者]

帮助看过了,还需要老师指点修改代码:


Dim dlg As New FolderBrowserDialog()
If dlg.ShowDialog() = DialogResult.OK Then
    MessageBox.Show("你选择的目录是:" & dlg.SelectedPath, "提示")
    Dim ckl As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox4")
    Dim fileSystem As New FileSystem()
    For Each file As String In fileSystem.GetFiles(dlg.SelectedPath)
        ckl.Items.Add(File.name) 
    Next
End If

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107703 积分:547842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/31 16:57:00 [只看该作者]

……
    Dim ckl As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox4")
    For Each file As String In FileSys.GetFiles(dlg.SelectedPath)
        ckl.Items.Add(FileSys.GetName(file)
    Next
……
建议先使用foxtable提供的功能:http://www.foxtable.com/webhelp/topics/0331.htm

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


加好友 发短信
等级:小狐 帖子:327 积分:2825 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/6/3 9:10:00 [只看该作者]

这段可以把一个表的列显示出来,如我要切换另一个表显示另一个表的列怎么修改代码?


Dim ck2 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox2")
Dim dt As Table = Tables("脱贫户信息表")
Dim cvw As String = dt.getColVisibleWidth
Dim nms As New List(Of String)
For i As Integer = 0 To ck2.Items.count - 1 '获取已经勾选的列
    If ck2.GetItemChecked(i) Then
        nms.Add(ck2.Items(i))
    Else
        dt.Cols(ck2.Items(i)).Visible = False
    End If
Next
For Each dc As DataCol In DataTables("脱贫户信息表").DataCols
    ck2.Items.Add(dc.Name) 
Next
[此贴子已经被作者于2024/6/3 16:02:01编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107703 积分:547842 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/6/3 13:55:00 [只看该作者]

Dim ck2 As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox2")
ck2.Items.clear
For Each dc As DataCol In DataTables("另一个表").DataCols
    ck2.Items.Add(dc.Name) 
Next

 回到顶部