以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  下拉窗口+分页+CheckedListBox 为何这么难  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8712)

--  作者:小狐
--  发布时间:2010/11/30 21:53:00
--  下拉窗口+分页+CheckedListBox 为何这么难
昨天请教了大家,以为全部搞定了,可是新的问题又出现。请大家帮忙
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目222222222.rar


--  作者:czy
--  发布时间:2010/11/30 23:23:00
--  

呵呵,你连最起码的都没搞定,你甚至写出了这样的代码:Forms("窗口1").Controls("TabControl1").ToolTip.Count

所以不要急,还得先看看所用到控件的帮助说明。

 

第三行中的要求虽然采用增加页面和动态增加控件的方法能解决,但这样打开下拉窗口都这样效率是否太低呢?

[此贴子已经被作者于2010-11-30 23:28:48编辑过]

--  作者:小狐
--  发布时间:2010/12/1 0:45:00
--  

 代码写错了,第三行应该为:Forms("窗口1").Controls("TabControl1").TabPages.Count()

不好意思

即使改过来,也不能做到:

不同行的下拉窗口打开时,之前所勾选的项目能够显示出来,而且能够再进行增加或者减少,请问该如何更改

[此贴子已经被作者于2010-12-1 0:50:13编辑过]

--  作者:mr725
--  发布时间:2010/12/1 12:35:00
--  

以为你上次已经搞定了呢:

 

DropDownOpened 事件


Dim n As Integer = Forms("窗口1").Controls("TabControl1").SelectedIndex
Dim clb As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox" & n+1)
clb.value = CurrentTable.current("铺市品项")

 

With Forms("窗口1").DropDownBox
    Dim s As String

    For i As Integer = 0 To Forms("窗口1").Controls("TabControl1").TabPages.Count() -1
        Forms("窗口1").Controls("TabControl1").SelectedIndex = i
        clb = Forms("窗口1").Controls("CheckedListBox" & i+1)
        If clb.value > ""
            Exit For
        Else
            Forms("窗口1").Controls("TabControl1").SelectedIndex = 0
        End If
    Next
End With

 

 

动态增加控件、页面我还不会····     谁能提示一下 谢谢~

[此贴子已经被作者于2010-12-1 12:38:34编辑过]

--  作者:小狐
--  发布时间:2010/12/1 13:03:00
--  

在更改“下拉窗口”不同页面的选项(已经增加或者减少),页面来回切换一下,选项又回到了初始状态。

这个就是我一直困扰的问题


--  作者:mr725
--  发布时间:2010/12/1 13:17:00
--  

那是你的selectedindexchange事件的代码有问题吧,仔细研究一下吧。

 


--  作者:小狐
--  发布时间:2010/12/1 13:42:00
--  

selectedindexchange:中的这一段代码有问题:

If  CurrentTable.Current() isnot Nothing Then
e.Form.Controls("CheckedListBox" & nn).Value = CurrentTable.Current("铺市品项")
End If

可是如何更改为即能承接原始的选项,又能保留目前所更改后的选项呢?


--  作者:mr725
--  发布时间:2010/12/1 13:44:00
--  
以下是引用小狐在2010-12-1 13:42:00的发言:

selectedindexchange:中的这一段代码有问题:

If  CurrentTable.Current() isnot Nothing Then
e.Form.Controls("CheckedListBox" & nn).Value = CurrentTable.Current("铺市品项")
End If

可是如何更改为即能承接原始的选项,又能保留目前所更改后的选项呢?

不懂“承接” “保留”是什么意思啊

 


--  作者:小狐
--  发布时间:2010/12/1 13:53:00
--  

简单的说就是对之前的数据进行更改,下拉窗口生成时,已经选择的内容会在各个页面勾选出来。这时想对选项进行更改,有一些要,有一些不要,有一些要增加。最后下拉窗口更改后的选项保存到该字段中

[此贴子已经被作者于2010-12-1 13:59:39编辑过]

--  作者:mr725
--  发布时间:2010/12/1 13:59:00
--  
已经选择的内容会在各个页面显示出来???   你CurrentTable.Current("铺市品项")中会有不同页面里CheckedListBoxn中的值? (n = 1,2,...)