点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有一个可编辑的OO ALV,其中我使用了附加,插入,删除等标准功能来处理以下情况:插入/附加新行时,其在不可编辑单元格中的状态默认为某些值 。 现在的逻辑如下
1。用户单击附加按钮(我们已对其进行了覆盖),我在用户命令中将其捕获,并在itab中以默认状态附加一个空白行,并执行grid-> refresh_table_display()
2。用户在所有单元格中输入值,然后按Enter,控制转到handle_data_changed方法。我验证并检查ER_DATA_CHANGED-> MOD_ROWS或ER_DATA_CHANGED-> MOD_CELLS的已修改行,并使用在屏幕上输入的值更新我的Itab,然后再次执行 网格-> refresh_table_display(),以便将值再次显示在屏幕上。
问题是当我给出SORT标准或按年份(降序)按排序说(如果降格)时,如果网格已经包含2行,并且我们在底部添加了2009年则是第3行
金额年份状态
100 2007年老
200 2006年老
300 2009新
然后在ENTER上将第3行移至第1位,但第3行上的值不会改变!!! 例如,见下文
金额年份状态
300 2009新
100 2007年老
300 2009新
问题仅是在对ALV排序时&我在itab中有一个唯一的行索引来跟踪记录。 我觉得这在前端和后端更新中是不匹配的。 其他任何人都有线索,为什么这只会在某种程度上发生?
嗨,
使用REFRESH_TABLE_DISPLAY方法调用此方法SET_SORT_CRITERIA。
十一年后,这个答案对我有所帮助,谢谢!
在data_changed_finished事件之前,请勿执行refresh_table_display()。
干杯
菲尔
一周热门 更多>