以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]Combobox动态筛选表格内容 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=37174)
|
-- 作者:xu3180497
-- 发布时间:2013/7/2 14:01:00
-- [求助]Combobox动态筛选表格内容
现在有个界面,界面跟简单,一个Combobox,一个Table。Table绑定了一张表,该表中有一列字段是统计年份,取值有2011,2012,2013。Combobox现在也能够自动列出该表统计年份的值。现在想通过Combobox的SelectedIndexChanged实现选择一个列表项目后下方的表就显示该年的数据信息。请问应该怎么实现?
界面如下:
此主题相关图片如下:qq截图20130702140133.png
求指教!
|
-- 作者:Bin
-- 发布时间:2013/7/2 14:05:00
--
在Combobox ENTER事件中. 把 ComboLIstString 设置为这个表的 统计年分裂即可
如果希望不重复..可以使用 GetuniqueValues 来获得不重复值集合 再赋值添加到Combobox 即可
|
-- 作者:xu3180497
-- 发布时间:2013/7/2 14:11:00
--
麻烦详细说明下,不是很懂!试了一下不行。
|
-- 作者:Bin
-- 发布时间:2013/7/2 14:13:00
--
实在不会就上个例子吧.
|
-- 作者:狐狸爸爸
-- 发布时间:2013/7/2 14:20:00
--
看看SelectedIndexChanged的代码这样设置行不行:
Dim y As integer = e.Sender.Text
Dim dt1 As New Date(y,1,1)
Dim dt2 As New Date(y,12,31)
Tables("xxx").filter = “日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
|
-- 作者:Bin
-- 发布时间:2013/7/2 14:22:00
--
晕,刚才没看到你还有第二个需求.
那么在SelectedIndexChanged
Tables("xxx").filter="统计年份 = " & e.Sender.Text
如果是字符串列
Tables("xxx").filter="统计年份 = \'" & e.Sender.Text & "\'"
|
-- 作者:xu3180497
-- 发布时间:2013/7/2 14:44:00
--
谢谢,已经弄好了,怪不得我说我没看懂biN的第一个回答, 大家都很牛,赞一个!!!
|
-- 作者:xu3180497
-- 发布时间:2013/7/2 15:26:00
--
现在还有一个问题,我在那个窗口界面下放了几个lable和textbox,用于显示表格的某些统计信息,希望在selectedindexchanged事件触发的时候,显示的表格的数据就会自动计算好然后填充到我的textbox中,但是不知道怎么弄呢?
此主题相关图片如下:qq截图20130702152311.png
表中计划运行时间是固定值:24*365,实际运行时间就是某年“运行时间(H)”列的sum汇总值,其他的反正可以算出来,就告诉我这两个怎么去实现就行了。
界面中的textbox我都设为只读了,另外修改了一下背景颜色,应该不会影响吧?
另外贴上我的selectedindexchanged的代码:
Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1") Dim txt1 As String = e.Form.Controls("TextBox1").Value Dim txt2 As String = e.Form.Controls("TextBox2").Text Dim txt3 As String = e.Form.Controls("TextBox3").Text Dim txt4 As String = e.Form.Controls("TextBox4").Text Dim txt5 As String = e.Form.Controls("TextBox5").Text Dim txt6 As String = e.Form.Controls("TextBox6").Text Dim txt7 As String = e.Form.Controls("TextBox7").Text Dim txt8 As String = e.Form.Controls("TextBox8").Text Dim txt9 As String = e.Form.Controls("TextBox9").Text Dim txt10 As String = e.Form.Controls("TextBox10").Text Dim str As String = cmb.Value Dim tbl As Table = Tables("设备运行表") If str IsNot Nothing Then tbl.Filter = "统计年份 = " & "\'" & str & "\'" txt1 = 1 \'txt2 = tbl. Else tbl.Filter = "" End If
|