以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态生成快捷按钮  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144429)

--  作者:联友
--  发布时间:2019/12/19 16:21:00
--  动态生成快捷按钮

请老师指教,谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.rar


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

--  作者:有点蓝
--  发布时间:2019/12/19 16:35:00
--  
这段代码有问题,字符串是不能叫你数学计算的,-1当然就出错了,没看懂代码的意思,所以我也不知道怎么改

Case  Left(e.StripItem.Text,4) - 1 & "2"



--  作者:联友
--  发布时间:2019/12/19 16:49:00
--  

因为是动态生成,2019年秋学期和2019春学期,前面2019是动态。

秋学期是20181,春学期是20192,Left(e.StripItem.Text,4)  =2019 -1 & "2"

Case  Left(e.StripItem.Text,4) - 1 & "2"

[此贴子已经被作者于2019/12/19 16:56:08编辑过]

--  作者:有点蓝
--  发布时间:2019/12/19 16:58:00
--  
但是另外一个按钮的快捷菜单没有2019这些呀。您是所有的菜单都使用同样的代码了,有些菜单没有2019
--  作者:联友
--  发布时间:2019/12/19 17:07:00
--  
生成快捷菜单后,2019年秋学期贺2019年春学期,开头是2019
--  作者:有点蓝
--  发布时间:2019/12/19 17:22:00
--  
有些菜单开头没有数字呀!
--  作者:联友
--  发布时间:2019/12/20 8:38:00
--  

老师这样可以了

菜单代码

e.Form.Strips("学期获奖").Items.Clear() \'清除原来的项目
Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.CommandText = "Sel ect IIF(Right(学期,1) = \'1\',Left(学期,4) & \'年秋学期\',Left(学期,4) +1 & \'年春学期\') As 学期  From {获奖学生}"
dt =  cmd.ExecuteReader
For Each bj As String In dt.GetValues("学期")
    e.Form.Strips("学期获奖").Items.Add(bj, bj, "", StripItemTypeEnum.MenuItem)
Next
e.Sender.ShowContextStrip(0, e.Sender.Height, e.Form.Strips("学期获奖"))

 

ItemClick代码

Select Case e.StripItem.Name
    Case Left(e.StripItem.Text,4) & "年秋学期"
        e.Form.Controls("Label1").Text = 89
    Case Left(e.StripItem.Text,4) & "年春学期"
        e.Form.Controls("Label1").Text = 100
    Case "未审批"
        e.Form.Controls("Label1").Text = 1000
End Select


--  作者:联友
--  发布时间:2019/12/20 16:37:00
--  

老师还有个问题想请教,只列最后4个学期,学期格式:20181、20182、20191,字符型

cmd.C
cmd.CommandText = "Sel ect IIF(Right(学期,1) = \'1\',Left(学期,4) & \'年秋学期\',Left(学期,4) +1 & \'年春学期\') As 学期  From {学生缴费}“
dt =  cmd.ExecuteReader
If e.Form.Strips.Contains("学期资助") Then
    e.Form.Strips("学期资助").Items.Clear() \'清除原来的项目
    For Each bj As String In dt.GetValues("学期","","学期 Desc")
        e.Form.Strips("学期资助").Items.Add(bj,bj, "", StripItemTypeEnum.MenuItem)
    Next
End If
e.Sender.ShowContextStrip(0, e.Sender.Height, e.Form.Strips("学期资助"))


--  作者:有点蓝
--  发布时间:2019/12/20 16:41:00
--  
只要最后4条记录?

cmd.CommandText = "select top 4 学期 from ( Select  IIF(Right(学期,1) = \'1\',Left(学期,4) & \'年秋学期\',Left(学期,4) +1 & \'年春学期\') As 学期  From {学生缴费}) as a order by 学期  desc

--  作者:联友
--  发布时间:2019/12/24 15:12:00
--  
谢谢