Powerbuilder修改行列

时间:2017-04-10 10:32:05

标签: row powerbuilder protected

我有更多行。我希望状态为AA1的行受保护列,而状态不同于AA1的行则不受保护。 所以我写了这个:

ll_count = dw_list.RowCount()
   if ll_count > 0 then 
    for i = 1 to ll_count
            if dw_list.object.status[i] = 'AA1' then
                 dw_list.modify("f_change[i].Protect='1")
                //dw_list.Object.f_change[i].modify("f_change[i].Protect='1")
                dw_list.Object.f_change[i].Background.Color = gf_get_btnface()
            end if
            if dw_list.object.status[i] <> 'AA1' then               
                dw_list.modify("f_change[i].Protect='0'")           
            end if
    next
   end if

dw_list.modify("f_change[i].Protect='1'")不正确。 dw_list.Object.f_change[i].modify("f_change[i].Protect='1")都没有。 如果我只是写dw_list.modify("f_change.Protect='1'"),它会修改所有行。

1 个答案:

答案 0 :(得分:1)

我没有编程一行就可以做到这一点,但是通过编辑数据窗口设计。

  1. 以设计模式打开数据窗口
  2. 选择所需的列
  3. 在“常规”标签中,点击“保护”附近的小图标。
  4. 插入condiction以保护或不保护该列:if( status = 'AA1', '0', '1')
  5. 完成所有数据。
    相同的过程可以应用于数据窗口列的许多特征(颜色,背景颜色,可见,指针,位置......) 或者,您可以以编程方式设置条件,但我只会在您需要“动态”更改保护方案时执行此操作。无论如何,原则是在列本身上设置保护条件。 一般来说,尽可能多地尝试在PowerBuilder中进行脚本编程。 û