Grid Datawindow网格上类似Powerbuilder Excel单元格的编辑功能

Grid Datawindow网格上类似Powerbuilder Excel单元格的编辑功能,grid,powerbuilder,Grid,Powerbuilder,我收到了一个非常不寻常的请求,要求为我的网格模拟类似excel的编辑功能 下面是一个场景:用户希望能够通过单击单元格并键入他们想要的内容来立即更改内容。目前,他们必须双击单元格以阻止选择内容,然后键入所需文本以覆盖单元格内容。他们希望中间的步骤是双击以阻止选择要取出的文本。可编辑单元格仅包含数字 所以我有两个选择: 1. Automatically block select the cell contents as soon as the user clicks on it 2. Make th

我收到了一个非常不寻常的请求,要求为我的网格模拟类似excel的编辑功能

下面是一个场景:用户希望能够通过单击单元格并键入他们想要的内容来立即更改内容。目前,他们必须双击单元格以阻止选择内容,然后键入所需文本以覆盖单元格内容。他们希望中间的步骤是双击以阻止选择要取出的文本。可编辑单元格仅包含数字

所以我有两个选择:

1. Automatically block select the cell contents as soon as the user clicks on it
2. Make the cell selection/edit behave the same way as excel
考虑到Powerbuilder固有的局限性,我确信如果没有一些古怪的黑客,这是不可能的,但我想听听他们的想法


您是否尝试了“自动选择编辑”属性?

PowerBuilder确实可以轻松处理此问题,但现在您可以在最终用户眼中看起来像英雄了。 :)

在数据窗口编辑字段中自动选择文本

在datawindow painter中,选择列,然后选中“自动选择文本”属性。这将导致在字段获得焦点后立即选择文本。现在的问题是PB没有为编辑遮罩控件提供此功能,但您可以使用下面的示例自己解决此问题

在数据窗口中编辑桅杆控件时自动选择文本

向datawindow控件添加代码,该控件检查编辑掩码字段并高亮显示文本。该示例可以放在datawindow控件的itemfocuschanged事件中,也可以放在datawindow控件的祖先中

// only if row present
if row > 0 then 
    if describe( dwo.Name + '.Edit.Style' ) = 'editmask' then
        // we found an edit mask so select the text in it
        this.selecttext(1,len(string(getitemstring(row,dwo.Name))))
    end if
end if