Foxtable(狐表)用户栏目专家坐堂 → 【SQLQuery】如何实现按钮代码将当前窗体中SQLQuery表中的数据进行显示为代码中的数据呢?


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

主题:【SQLQuery】如何实现按钮代码将当前窗体中SQLQuery表中的数据进行显示为代码中的数据呢?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
【SQLQuery】如何实现按钮代码将当前窗体中SQLQuery表中的数据进行显示为代码中的数据呢?  发帖心情 Post By:2017/7/9 22:11:00 [只看该作者]

【SQLQuery】如何实现按钮代码将当前窗体中SQLQuery表中的数据进行显示为代码中的数据呢?
麻烦老师们指导下,谢谢!
代码如下:

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = " Select 类别,货名,品牌,产品,规格,单位,代码,(Select top 1 实时库存 fro m {库存查询_Table1} As b where a.货名=b.货名 order by [_Identify] desc) As 实时库存 fro m {库存查询_Table1} As a group by 类别,货名,品牌,产品,规格,单位,代码 "
dt = cmd.ExecuteReader()
Dim b As WinForm.Table = e.Form.Controls("Table1")
…………
…………
[此贴子已经被作者于2017/7/9 22:56:29编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/9 23:23:00 [只看该作者]

 b.table.DataSource = dt

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)?b.table.DataSource = dt  发帖心情 Post By:2017/7/9 23:41:00 [只看该作者]

 窗体在加载后运行如下代码
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = " Select 类别,货名,品牌,产品,规格,单位,代码,(Select top 1 实时库存 fro m {库存查询_Table1} As b where a.货名=b.货名 order by [_Identify] desc) As 实时库存 fro m {库存查询_Table1} As a group by 类别,货名,品牌,产品,规格,单位,代码 "
dt = cmd.ExecuteReader()
Dim b As WinForm.Table = e.Form.Controls("Table1")
 b.table.DataSource = dt 

Dim t As Table = e.Form.controls("Table1").Table
Dim width As Double = t.grid.width
Dim sum As Double = 0
For Each c As object In t.grid.cols
    If c.visible = True Then
        sum += c.widthdisplay
    End If
Next
For Each c As object In t.grid.cols
    If c.visible = True Then
        c.width = c.widthdisplay/sum*width
    End If
Next
让当前表格中的列自动充满table

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

按钮中代码如下 运行后  当前表格列不自动充满了 

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
 
按钮每执行一次上面代码 是否可以先清除之前的数据在自动充满呢?
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = " Select 类别,货名,品牌,产品,规格,单位,代码,(Select top 1 实时库存 fro m {库存查询_Table1} As b where a.货名=b.货名 order by [_Identify] desc) As 实时库存 fro m {库存查询_Table1} As a group by 类别,货名,品牌,产品,规格,单位,代码 "
dt = cmd.ExecuteReader()
Dim b As WinForm.Table = e.Form.Controls("Table1")
b.table.DataSource = dt

[此贴子已经被作者于2017/7/10 8:41:27编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/10 8:43:00 [只看该作者]

拷贝3楼的代码,再执行一次,不就好了?

 

重复使用到的代码,建议提取,弄成函数来调用。


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)拷贝3楼的代码,再执行一次,不就好了...  发帖心情 Post By:2017/7/10 8:50:00 [只看该作者]

再执行就会出现下面的效果图   序号列不断扩大显示列宽了?有没有办法保持原来比例呢?

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

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

图片点击可在新窗口打开查看此主题相关图片如下:44.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/7/10 8:50:51编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/10 9:04:00 [只看该作者]

改代码

 

Dim t As Table = e.Form.controls("Table1").Table
Dim width As Double = t.grid.width - t.grid.cols(0).widthdisplay
Dim sum As Double = 0
For Each c As object In t.grid.cols
    If c.index > 0 andalso c.visible = True Then
        sum += c.widthdisplay
    End If
Next
For Each c As object In t.grid.cols
    If c.index > 0 AndAlso c.visible = True Then
        c.width = c.widthdisplay/sum*width
    End If
Next


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)改代码 Dim t As Table = e...  发帖心情 Post By:2017/7/10 9:18:00 [只看该作者]

谢谢!

 回到顶部