Foxtable(狐表)用户栏目专家坐堂 → 记录窗口上如何实现与表同步显示锁标记


  共有2290人关注过本帖树形打印复制链接

主题:记录窗口上如何实现与表同步显示锁标记

帅哥,在线噢!
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
记录窗口上如何实现与表同步显示锁标记  发帖心情 Post By:2019/4/10 15:16:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:列表窗口001.jpg
图片点击可在新窗口打开查看

sql窗口表当某列不可编辑时会显示一个小锁,但如果打开绑定的记录窗口时,不可编辑的列处不会显示小锁,很不直观,如何才以实现锁标记同步显示呢?

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/10 15:53:00 [只看该作者]

没办法。建议做一个简单的方法。在drawcell事件,如果列无法编辑,就显示为红色样式,即可。

 回到顶部
帅哥,在线噢!
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2019/4/10 17:34:00 [只看该作者]

这个记录窗口是通用的,只有在项目事件CurrentTableChanged有下面的代码而已
If  Forms("记录窗口").Opened Then
    Dim rgd As WinForm.RecordGrid = Forms("记录窗口").Controls("RecordGrid1")
    rgd.Table = CurrentTable  '指定绑定表
    rgd.Build()
End If

要在全局表事件drawcell中写代码来控制实际绑定表的列样式?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/10 17:56:00 [只看该作者]

如果是通用的,写代码处理一下,如

 

If  Forms("记录窗口").Opened Then
    Dim rgd As WinForm.RecordGrid = Forms("记录窗口").Controls("RecordGrid1")
    rgd.Table = CurrentTable  '指定绑定表
    rgd.Build()
    Dim t = rgd.basecontrol
    For i As Integer = 0 To t.Rows.count-1
        If CurrentTable.Cols(t.Rows(i)(0)).AllowEdit Then
            t.SetCellStyle(i, 0, "")
        Else
            Dim cs1 As C1.Win.C1FlexGrid.CellStyle = t.Styles.Add("样式1")
            cs1.forecolor = Color.red
            cs1.backcolor = Color.yellow
            'cs1.font = new font("宋体", 15)
            t.SetCellStyle(i, 0, cs1)           
        End If
    Next
End If


 回到顶部
帅哥,在线噢!
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1930 积分:17564 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2019/4/10 18:24:00 [只看该作者]

可以了,请教一下上面的这句 Dim t as table = rgd.basecontrol 为什么不用 as table? 是不是直接引用底层时后面都不用加变量名,

谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/10 21:43:00 [只看该作者]

Dim t 等同于 Dim t As Object

 

当你不想写或者不知道类型的时候,可以不写,这样很省事。


 回到顶部