3

Net 12.5 并创建一个小型数据输入程序。数据窗口由 1 个下拉数据窗口组成,其余 4 列设置为编辑

这里的问题是,下拉数据窗口是不可编辑的。我已将覆盖编辑设置为 true 并设置 datawindow.readonly='No'/dw_1.object.datawindow.@readonly=false。

但其他一切都失败了。我仍然无法编辑我的数据窗口的内容。

笔记

当按下添加按钮时,datawindow 将设置其 readonly = false datawindow 列是否具有保护其 newrow() 可编辑的列是下拉数据窗口

请帮忙

爱很多

4

7 回答 7

2

请检查该列的“标签顺序”。

于 2014-07-31T18:39:24.210 回答
1
  1. 检查数据窗口对象中每一列的 Tab 键顺序(包含所有列的那个),如果它为零,它将无法获得焦点。
  2. 您是否为应用了 dddw 编辑样式的列指定了一个下拉数据窗口?您是否还设置了数据值和显示值?它是不需要检索参数的数据窗口吗?如果需要检索 args,则需要添加代码以手动检索 dddw 数据。
  3. 你能下拉列表吗?您是否选中了始终显示箭头复选框?只是好奇,如果你这样做,你可以删除列表吗?除非您希望用户更改列表中的值或在其中进行搜索(高级),否则您不需要检查允许编辑
  4. 你在datawindow控件上做了settransobject,你看到数据了吗?如果是全新的数据,您是否进行了 InsertRow ?
  5. 您的数据窗口对象是否设置为“行”下的“允许更新”...更新属性...
  6. 你的表有主键吗?
  7. 是否在您的数据窗口对象中为该列检查了 AutoRetrieve?

这些只是我认为可能会出现问题的几件事,但我不清楚发生了什么。

更多信息会有所帮助...

该声明完全没有意义,如果您需要帮助,请澄清/重写它。

我已将覆盖编辑设置为 true 并设置 datawindow.readonly='No'/dw_1.object.datawindow.@readonly=false。

于 2014-09-17T06:36:15.600 回答
1

isRowNew() 似乎无法正常工作。我做了一些测试,但我无法让它工作,在谷歌之后,我可以看到其他人自 2004 年以来也有同样的问题,没有人在乎。也许现在SAP买了这个产品,他们会改正,也可能不会。

我找到的唯一解决方案是使用 Isnull()。你有你假设,当你添加一行时,它的值为空,而旧行有值(使用 pk ok,但使用其他行可以为空),所以你必须保护那些不为空的

这不是一个完美的解决方案,但它是唯一有效的解决方案。

于 2015-03-24T12:47:43.423 回答
0

在列中转到保护属性并输入:

If(isrownew(), 1, 0)

而已。

于 2015-04-22T14:39:13.620 回答
0

在 DDDW 属性的编辑选项卡上,选中允许编辑复选框。当列设置为提示输入条件时使用覆盖编辑。

于 2014-08-04T13:42:24.410 回答
0

您需要检查以下内容:

1. Open dddw object and set tab order.
2. set tab order of that column where dddw set.
3. Set protect = 0 of that column in both objects.(datawindow & dddw object)

请评论您的状态。

于 2019-04-24T05:50:19.347 回答
0

IsRowNew() 在 PB-12.5 中没有问题

您正在更改脚本中行的状态,或者您正在某处覆盖脚本中的表达式。您的列表达式是正确的

dw_prod.Modify("pt_pname.Protect='1~tIf(IsRowNew(),0,1)'")
于 2019-05-09T08:05:28.910 回答