以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]控件设置不可用后,不用灰色怎么解决  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126048)

--  作者:湛江智
--  发布时间:2018/10/12 17:37:00
--  [求助]控件设置不可用后,不用灰色怎么解决
 窗口打开后,窗口中的文本或日期控件,属性设置为不可用后,里面的字体变灰色不方便查看,不用灰色显示,怎么设置呢?

[此贴子已经被作者于2018/10/12 17:37:56编辑过]

--  作者:有点甜
--  发布时间:2018/10/12 17:41:00
--  

设置控件的【只读】属性为true,不要禁用。

 

 


--  作者:湛江智
--  发布时间:2018/10/12 17:52:00
--  回复:(有点甜)设置控件的【只读】属性为true,不要...
 这样不满足功能要求,因为设置了,窗口打开后如果控件不为空就锁定
控件如果为空,要可以录入————设置了只读,就不能录入了
怎么解决呢?

--  作者:有点甜
--  发布时间:2018/10/12 17:59:00
--  

只读也可以用代码设置

 

http://www.foxtable.com/webhelp/scr/0749.htm

 


--  作者:湛江智
--  发布时间:2018/10/12 18:05:00
--  回复:(有点甜)只读也可以用代码设置?http...

项目没有用户分组的情况下,窗口打开后,控件不为空就锁定(逻辑列打钩锁定指定的列),不能编辑,控件不为空的内容不灰色显示呢?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:控件不为空不可用但不灰色.foxdb

[此贴子已经被作者于2018/10/12 18:05:54编辑过]

--  作者:有点甜
--  发布时间:2018/10/12 18:12:00
--  
If CurrentTable.Rows.Count>0 Then
    With Tables("表A")
        Dim r As Row = Tables("表A").Current
       
        If e.form.controls("TextBox1").value IsNot  Nothing
            If .Current Is Nothing OrElse .Current.DataRow.RowState = DataRowState.Unchanged And r("是否允许编辑") = True Then
                e.Form.Controls("TextBox1").ReadOnly = BooleanEnum.True
            Else
                e.Form.Controls("TextBox1").ReadOnly = BooleanEnum.False

            End If
        End If
       
    End With
End If

--  作者:湛江智
--  发布时间:2018/10/12 18:19:00
--  回复:(有点甜)If CurrentTable.Rows.Count>0 Th...

红色圆圈处,字符不要灰色显示

                       要像下面红色方形正常纯黑色显示

上面代码还需要怎么修改呢?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:控件不为空不可用但不灰色.foxdb


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


--  作者:有点蓝
--  发布时间:2018/10/12 20:20:00
--  
去掉控件enter事件

窗口afterload

Dim r As Row = Tables("表A").Current

If r.IsNull("第一列") = False
    If r Is Nothing OrElse r.DataRow.RowState = DataRowState.Unchanged AndAlso r("是否允许编辑") = True Then
        e.Form.Controls("TextBox1").ReadOnly = BooleanEnum.True
    Else
        e.Form.Controls("TextBox1").ReadOnly = BooleanEnum.False
    End If
End If