2020-09-09 03:28发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
有什么可能的方法仅对cockpitNG中的单个列而不对整个行启用multireferenceeditor中的内联编辑? 某些列应限制为不可编辑,或者是否可以通过用户权限配置它? 我限制用户可以更改和读取属性,但是唯一发生的是它显示"您没有权限",但是我仍然可以通过内联编辑对其进行编辑
恐怕没有此类功能。 您可以考虑扩展默认的单元格编辑器,并在其中添加一些自定义逻辑。 请查看 com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultCellRenderer 和 com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultRowRenderer 。 我会把您的自定义设置在这里。
com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultCellRenderer
com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultRowRenderer
干杯, 雅切克
是否有可能像我下面所述? 还是我必须实现WidgetComponentRenderer类? 如果是这样,我如何获取cellcontext将其更改为inlineediting = false?
感谢您的回答。 我目前正在使用自己的类来扩展DefaultCellRenderer,因为我只想编辑一个等于某种模式的单元格。 当他在以下位置检查时,它给了我nullpointers:
if(isAtomicAttribute(cellContext))和 else if(isCompletxAttribute(cellContext))在DefaultCellRenderer内部。
if(isAtomicAttribute(cellContext))
else if(isCompletxAttribute(cellContext))
即使我在spring.xml中定义了一个bean并在cockpit.xml中分配了它,他也没有使用我的代码
cockpit.xml
spring.xml
<属性名称=" objectValueService" ref =" objectValueService"/>
我的代码:
公共类PremCavokMediaMultiReferenceEditorLabelRenderer扩展DefaultCellRenderer { @Override 公共无效渲染(最终CellContext cellContext) { 用于(最终DataAttribute属性:cellContext.getRowEntryDataType()。getAttributes()) { 如果(attribute.equals(" cavokMedia")) { cellContext.setInlineEditingEnabled(false); } } super.render(cellContext); }
有什么想法吗?
您好,您最终为此做了什么?
恐怕在 ExtendedMultireferenceEditor 中覆盖渲染器并不是那么简单。 仔细查看源代码之后,我对您发布的内容几乎没有评论:
ExtendedMultireferenceEditor
您可以在列级别设置 spring-bean ,但是它需要指向 com.hybris.cockpitng.widgets.common.WidgetComponentRenderer 类型
spring-bean
com.hybris.cockpitng.widgets.common.WidgetComponentRenderer
在列级别指定的Bean仅用于呈现列值的可读表示(即标签,图标等)-它无法定义值是否可编辑和/或如何可编辑
,您可以通过定义类型为 com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.CellRenderer 的新bean来更改 ExtendedMultireferenceEditor 的默认单元格渲染器。 可能会扩展 com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultCellRenderer ),但请记住,它将在全局范围内更改(对于所有编辑器实例)
com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.CellRenderer
为单个编辑器实例更改单元格编辑器将需要定义您的自定义编辑器,该自定义编辑器将在 com.hybris.cockpitng.editor.extendedmultireferenceeditor.DefaultExtendedMultiReferenceEditor#createReferenceLayout 中创建行渲染器的自定义实现。 code>方法。
com.hybris.cockpitng.editor.extendedmultireferenceeditor.DefaultExtendedMultiReferenceEditor#createReferenceLayout
干杯, 雅西克
最多设置5个标签!
嗨,
恐怕没有此类功能。 您可以考虑扩展默认的单元格编辑器,并在其中添加一些自定义逻辑。 请查看
com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultCellRenderer
和com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultRowRenderer
。 我会把您的自定义设置在这里。干杯, 雅切克
是否有可能像我下面所述? 还是我必须实现WidgetComponentRenderer类? 如果是这样,我如何获取cellcontext将其更改为inlineediting = false?
嗨,
感谢您的回答。 我目前正在使用自己的类来扩展DefaultCellRenderer,因为我只想编辑一个等于某种模式的单元格。 当他在以下位置检查时,它给了我nullpointers:
if(isAtomicAttribute(cellContext))
和else if(isCompletxAttribute(cellContext))
在DefaultCellRenderer内部。即使我在spring.xml中定义了一个bean并在cockpit.xml中分配了它,他也没有使用我的代码
cockpit.xml
spring.xml
我的代码:
有什么想法吗?
您好,您最终为此做了什么?
嗨,
恐怕在
ExtendedMultireferenceEditor
中覆盖渲染器并不是那么简单。 仔细查看源代码之后,我对您发布的内容几乎没有评论:您可以在列级别设置
spring-bean
,但是它需要指向com.hybris.cockpitng.widgets.common.WidgetComponentRenderer
类型在列级别指定的Bean仅用于呈现列值的可读表示(即标签,图标等)-它无法定义值是否可编辑和/或如何可编辑
,您可以通过定义类型为
com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.CellRenderer
的新bean来更改ExtendedMultireferenceEditor
的默认单元格渲染器。 可能会扩展com.hybris.cockpitng.editor.extendedmultireferenceeditor.renderer.DefaultCellRenderer
),但请记住,它将在全局范围内更改(对于所有编辑器实例)为单个编辑器实例更改单元格编辑器将需要定义您的自定义编辑器,该自定义编辑器将在
com.hybris.cockpitng.editor.extendedmultireferenceeditor.DefaultExtendedMultiReferenceEditor#createReferenceLayout
中创建行渲染器的自定义实现。 code>方法。干杯, 雅西克
一周热门 更多>