以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 【SQLQuery】如何实现按钮代码将当前窗体中SQLQuery表中的数据进行显示为代码中的数据呢? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103480)
|
-- 作者:李孝春
-- 发布时间:2017/7/9 22:11:00
-- 【SQLQuery】如何实现按钮代码将当前窗体中SQLQuery表中的数据进行显示为代码中的数据呢?
【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编辑过]
|
-- 作者:有点甜
-- 发布时间:2017/7/9 23:23:00
--
b.table.DataSource = dt
|
-- 作者:李孝春
-- 发布时间:2017/7/9 23:41:00
-- 回复:(有点甜)?b.table.DataSource = dt
窗体在加载后运行如下代码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编辑过]
|
-- 作者:有点甜
-- 发布时间:2017/7/10 8:43:00
--
拷贝3楼的代码,再执行一次,不就好了?
重复使用到的代码,建议提取,弄成函数来调用。
|
-- 作者:李孝春
-- 发布时间:2017/7/10 8:50:00
-- 回复:(有点甜)拷贝3楼的代码,再执行一次,不就好了...
再执行就会出现下面的效果图 序号列不断扩大显示列宽了?有没有办法保持原来比例呢?
[此贴子已经被作者于2017/7/10 8:50:51编辑过]
|
-- 作者:有点甜
-- 发布时间: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
|
-- 作者:李孝春
-- 发布时间:2017/7/10 9:18:00
-- 回复:(有点甜)改代码 Dim t As Table = e...
谢谢!
|