0

我的visualforce页面中有以下内容:

<apex:pageBlock mode="{!pageBlockMode}">
</apex:pageBlock>

以及带有此顶点代码的自定义扩展:

public string pageBlockMode 
{ 
    get { return 'edit'; } 
}

有谁知道为什么这不起作用?它只是默认为“详细”模式。有没有办法动态更改 pageBlock 的“模式”属性?

4

4 回答 4

1

希望您知道 MODE 代表 pageBlock 组件的子元素的默认用户模式。此值确定是否绘制分隔字段值的线。可能的值是:“detail”,其中数据以彩色线条显示给用户;“maindetail”,其中数据以彩色线条和白色背景显示给用户,就像记录的主要详细信息页面一样;和“编辑”,其中数据显示给用户,没有字段线。如果未指定,则此值默认为“详细信息”。这些行与必要性无关,它们只是视觉分隔符,可以更轻松地扫描详细信息页面。

于 2011-06-20T08:24:18.880 回答
1

基于上述评论,为什么不尝试使用 RENDERED 属性创建两个不同的页面块部分

<apex:pageBlock mode="edit" rendered="{!pageBlockMode=='edit'}">
.....
</apex:pageBlock>

<apex:pageBlock mode="detail" rendered="{!pageBlockMode=='detail'}">
.....
</apex:pageBlock>
于 2011-06-21T12:37:13.360 回答
1

看起来我的原始代码现在可以工作了。不确定这是在哪个版本的 Visualforce 中修复/更改的:

页:

<apex:pageBlock mode="{!pageBlockMode}">
</apex:pageBlock>

控制器:

public string pageBlockMode 
{ 
    get { return 'edit'; } 
}
于 2013-04-26T15:18:07.080 回答
0

我想这可能对你有帮助!它对我有用!

public Component.Apex.PageBlock getPageBlockArea(){
     Component.Apex.PageBlock p = new Component.Apex.PageBlock();
     p.title = 'Working';
     p.mode = 'edit';
     return p;
}
于 2012-07-19T04:09:27.440 回答