以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  单元格多值的点击问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=129894)

--  作者:blackzhu
--  发布时间:2019/1/8 13:10:00
--  单元格多值的点击问题
  我上次看到一个系统,在一个单元格中 比如格式  A,B,C 他可以分别点击A或者B或者C  可以打开弹窗,对应A B C 不同的数据.不知道这个思路是怎么样的? 如果是网页的话,就可以添加不同按钮来处理.
--  作者:blackzhu
--  发布时间:2019/1/8 13:26:00
--  
道理跟  一个单元格  编辑|查看|删除  道理差不多的意思,我点击编辑就打开编辑这样
--  作者:有点甜
--  发布时间:2019/1/8 15:04:00
--  

是不是rtf列?

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=63410&skin=0

 

是不是嵌入按钮?

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=103384&skin=0

 


--  作者:blackzhu
--  发布时间:2019/1/8 15:31:00
--  
还是2的方法比较好


Dim cell = _flex.GetCellRect(r.Index+e.Table.HeaderRows, 0)  这个改在单元格怎么改?  我找了资料好像没有找到 getcellrect 这个

--  作者:有点甜
--  发布时间:2019/1/8 16:10:00
--  
以下是引用blackzhu在2019/1/8 15:31:00的发言:
还是2的方法比较好


Dim cell = _flex.GetCellRect(r.Index+e.Table.HeaderRows, 0)  这个改在单元格怎么改?  我找了资料好像没有找到 getcellrect 这个

 

什么意思 _flex.GetCellRect(row坐标, col坐标)

 

你需要改成什么?做到什么效果?


--  作者:blackzhu
--  发布时间:2019/1/8 16:20:00
--  
我想按照条件动态的将按钮填入每一个单元格
--  作者:有点甜
--  发布时间:2019/1/8 16:39:00
--  

循环每一行,或者你搜索到对应的行、单元格,然后获取坐标,在对应位置设置加入按钮。


--  作者:布莱克朱
--  发布时间:2019/1/8 20:52:00
--  
做的老是不太对,一个是坐标获取的不正确,第二个,我想多值生成的按钮只出来一个.想有多少个多值(用,号区分的)就并排生成多少个按钮.高度跟单元格一样高.


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表格嵌入按钮.table





[此贴子已经被作者于2019/1/8 20:52:45编辑过]

--  作者:有点蓝
--  发布时间:2019/1/8 22:44:00
--  
Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("姓名", Gettype(String), 32)
For Each v As String In DataTables("表A").GetValues("课程")
    dtb.AddDef(v, Gettype(String),50)
Next
dtb.Build()
For Each v As String In DataTables("表A").GetValues("姓名")
    Dim dr1 As DataRow = DataTables("表B").AddNew()
    dr1("姓名") = v
    For Each dr2 As DataRow In DataTables("表A").DataRows
        If dr2("姓名") = v Then
            dr1(dr2("课程")) = (dr1(dr2("课程")) & "," & dr2("分数")).trimstart(",")
        End If
    Next
Next
MainTable = Tables("表B")
Dim _flex = Tables("表B").grid
_flex.controls.clear
Dim t As Table = Tables("表b")
For Each r As Row In t.Rows
    For Each c As Col In t.cols
        Select Case c.name
            Case "姓名"
            Case Else
                If r.IsNull(c.Name) = False Then
                    Dim Values() As String = r(c.Name).split(",")
                    Dim cell = _flex.GetCellRect(r.Index+1,c.Index+1)
                    Dim w As Integer = cell.width/Values.Length
                    For i As Integer = 0 To Values.Length -1
                        
                        Dim btn1 As new windows.Forms.button
                        btn1.name = Values(i)
                        btn1.text = Values(i)
                        btn1.left = cell.x + i*w
                        btn1.top = cell.y
                        btn1.width = w
                        btn1.height = cell.height
                        _flex.controls.add(btn1)
                    Next
                End If
        End Select
    Next
Next

--  作者:y2287958
--  发布时间:2019/1/8 22:59:00
--  
动态生成的按钮如何动态绑定事件?