【问题标题】:How to disable a single row in a datawindow?如何禁用数据窗口中的单行?
【发布时间】:2015-06-17 07:43:45
【问题描述】:

任何人都可以帮助我如何保护单个行的单个列,尽管我的数据窗口不止一行。我正在编写这样的代码:

dw_1.Modify("column_name.protect = '1'")

但是它使我的所有行都被禁用。

【问题讨论】:

    标签: powerbuilder datawindow


    【解决方案1】:

    对于要保护的特定行/列,您需要有某种条件语句。一种方法是让您以编程方式设置一个附加字段。

    dw_1.setitem(1,"protect_me","Y")
    

    然后在您的另一列中,您在保护属性上设置一个表达式,例如:

    if(protect_me[0] = "Y", 1, 0)
    

    【讨论】:

      【解决方案2】:

      你可以把它变成这样: dw_1.SetRedraw (FALSE)

      ls_modstring = as_columnnane + ".background.color = '" + String(RGB( 255, 255, 255 )) + &
                          "~tIf( protection = 1," + String(RGB( 192, 192, 192 )) + "," + &
                          String(RGB( 255, 255, 255)) + ")'"
      dw_1.Modify( ls_modstring )
      
      ls_modstring = as_columnnane + ".protect = '0 ~tIf( protection = 1, 1, 0 )'"
      dw_1.Modify( ls_modstring )
      
      dw_1.SetRedraw ( TRUE )
      

      其中 as_columnnane 是列名。

      【讨论】:

      • 您似乎添加了一个名为“保护”的数字列,并且使用方式与我之前建议的完全相同。
      • 我希望这也会使所有行保护/取消保护。
      【解决方案3】:

      嗨,桑托什·库马尔·杜塔,

      我建议您使用数据窗口保护属性而不是修改语法。 您能否根据您要保护的字段或条件给我们确切的小代码。

      来自 pb_developer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-12
        相关资源
        最近更新 更多