我的visualforce页面中有以下内容:
<apex:pageBlock mode="{!pageBlockMode}">
</apex:pageBlock>
以及带有此顶点代码的自定义扩展:
public string pageBlockMode
{
get { return 'edit'; }
}
有谁知道为什么这不起作用?它只是默认为“详细”模式。有没有办法动态更改 pageBlock 的“模式”属性?
我的visualforce页面中有以下内容:
<apex:pageBlock mode="{!pageBlockMode}">
</apex:pageBlock>
以及带有此顶点代码的自定义扩展:
public string pageBlockMode
{
get { return 'edit'; }
}
有谁知道为什么这不起作用?它只是默认为“详细”模式。有没有办法动态更改 pageBlock 的“模式”属性?
希望您知道 MODE 代表 pageBlock 组件的子元素的默认用户模式。此值确定是否绘制分隔字段值的线。可能的值是:“detail”,其中数据以彩色线条显示给用户;“maindetail”,其中数据以彩色线条和白色背景显示给用户,就像记录的主要详细信息页面一样;和“编辑”,其中数据显示给用户,没有字段线。如果未指定,则此值默认为“详细信息”。这些行与必要性无关,它们只是视觉分隔符,可以更轻松地扫描详细信息页面。
基于上述评论,为什么不尝试使用 RENDERED 属性创建两个不同的页面块部分
<apex:pageBlock mode="edit" rendered="{!pageBlockMode=='edit'}">
.....
</apex:pageBlock>
<apex:pageBlock mode="detail" rendered="{!pageBlockMode=='detail'}">
.....
</apex:pageBlock>
看起来我的原始代码现在可以工作了。不确定这是在哪个版本的 Visualforce 中修复/更改的:
页:
<apex:pageBlock mode="{!pageBlockMode}">
</apex:pageBlock>
控制器:
public string pageBlockMode
{
get { return 'edit'; }
}
我想这可能对你有帮助!它对我有用!
public Component.Apex.PageBlock getPageBlockArea(){
Component.Apex.PageBlock p = new Component.Apex.PageBlock();
p.title = 'Working';
p.mode = 'edit';
return p;
}