Foxtable(狐表)用户栏目专家坐堂 → 关于用控件传递值得问题


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

主题:关于用控件传递值得问题

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


加好友 发短信
等级:婴狐 帖子:16 积分:196 威望:0 精华:0 注册:2015/12/13 12:56:00
关于用控件传递值得问题  发帖心情 Post By:2016/4/7 15:59:00 [显示全部帖子]

如下面的帮助示例代码:怎样设计成通用的导出窗口呢?表名和保存文件名都可以指定的那种。

 

 

 

 

 

设计方法很简单:

1、将窗口的AfterLoad事件代码设置为:

Dim ckl As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
For
Each dc As DataCol In DataTables("订单").DataCols
    ckl.Items.Add(dc.name)

Next

2、将按钮的Clik事件代码设置为:

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

Next
If
nms.Count = 0 Then
    MessageBox.Show(
"
至少要选择一列","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
   
Return

End
If 
'
生成Excel
Dim
dt As Table = Tables("订单")
Dim
Book As New XLS.Book
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
For
i As Integer = 0 To nms.count -1
    Sheet(0, i).Value = nms(i)

Next
For
r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For i As Integer = 0 To nms.count -1
        Sheet(r + 1, i).Value = dt.rows(r)(nms(i))
   
Next

Next
 
'
保存并打开excel文件
Book
.Save("c:\reports\test.xls")
Dim
Proc As New Process
Proc
.File = "c:\reports\test.xls"
Proc
.Start()


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

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


加好友 发短信
等级:婴狐 帖子:16 积分:196 威望:0 精华:0 注册:2015/12/13 12:56:00
  发帖心情 Post By:2016/4/7 16:08:00 [显示全部帖子]

哦,谢谢红袍老师

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


加好友 发短信
等级:婴狐 帖子:16 积分:196 威望:0 精华:0 注册:2015/12/13 12:56:00
  发帖心情 Post By:2016/4/7 16:10:00 [显示全部帖子]

我想实现这样的功能,分组框里面是用表格还是什么控件呢?需要注意什么啊
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160407160901.png
图片点击可在新窗口打开查看

 回到顶部