0

我正在使用 APEX 4.2 为我在工作中支持的组织构建培训日历。我绝不是 DBA 或任何类型的编程专家。通过反复试验,我学到了很多东西。

我的日历已构建,但我想做的是根据表中的列更改项目的显示方式。例如,我有两个项目类型:项目 A 和项目 B。我希望它们在我的日历显示上具有不同的边框颜色。目前,我正在使用以下 CSS 代码,但这适用于所有事件:

<style>
.Day a, .NonDay a, .Today a, .WeekendDay a {
    font: normal 10px/12px Arial,sans-serif !important;
    padding: 2px !important;
    border-radius: 4px;
    -moz-border-radius: 4px;
    background-color: #E5E5E5;
    border: 1px solid #FF1414;
}

.Day a:hover, .NonDay a:hover, .Today a:hover, .WeekendDay a:hover {
    background-color: #A3A3A3;
    border: 1px solid #FF1414;
    text-decoration: none !important;
}
</style>

我希望能够改变这一点,以便当 PROJECT = A 时应用上述某种样式,而当 PROJECT = B 时应用上述样式的变体。

有人对我如何做到这一点有任何指导吗?我愿意接受建议。

谢谢你,克里斯蒂娜

4

4 回答 4

1

我有一个为不同项目分配颜色的表,所以当我从日历表中提取事件时,我将它加入到项目表中并获取颜色。

选择 e.ID,' '||描述||' ' 描述, event_date FROM EVENTS e, project a where e.project_id=a.project_id;

于 2013-07-09T14:02:03.637 回答
1

我不知道 APEX,但是您需要使用特定于项目的 css 类来扩展 html 元素(无论它是什么,可能是 a <li/>、 a<td/>或其他东西)。您没有显示您的 HTML 代码,所以我只是猜测日历是用表格构建的。如果是这样,这可能看起来像:

<table>
    <tr>
        <td class="NonDay"><a href="#">27</a></td>
        <td class="NonDay"><a href="#">28</a></td>
        <td class="NonDay"><a href="#">29</a></td>
        <td class="NonDay"><a href="#">30</a></td>
        <td class="NonDay"><a href="#">31</a></td>
        <td class="Day WeekendDay"><a href="#">1</a></td>
        <td class="Day WeekendDay"><a href="#">2</a></td>
    </tr>
    <tr>
        <td class="Day"><a href="#">3</a></td>
        <td class="Day"><a href="#">4</a></td>
        <td class="Day ProjectA"><a href="#">5</a></td> <!-- see the class -->
        <td class="Day ProjectB"><a href="#">6</a></td> <!-- see the class -->
        <td class="Day"><a href="#">7</a></td>
        <td class="Day WeekendDay Today"><a href="#">8</a></td>
        <td class="Day WeekendDay"><a href="#">9</a></td>
    </tr>
</table>

有了这个,您可以像为其他类一样设置这些类的样式:

.ProjectA a {
    border-color: blue;
}

.ProjectB a {
    border-color: red;
}

我无法回答的问题是如何在 APEX 中添加 css 类,但这个问题更适合 oracles 支持论坛或https://superuser.com/,因为它不是与编程相关的问题。

于 2013-06-08T20:24:54.147 回答
0

如果您想设置单个日历条目的样式,您可以在 SELECT 语句中应用一个类,如下所示:

select ..., 
       '<div class=project"' || project || '>' || description || '</div>'
             as description
from ...

这将导致以下条目的 HTML:

<div class="projectA">This is project A</div>
于 2013-06-09T13:03:51.190 回答
0

在 SQL 代码中添加列 PROJECT_TYPE 返回项目的类型。在日历属性中,将“显示类型”更改为“自定义”。在“列格式”中输入类似

 <span class="#PROJECT_TYPE#">#COLUMN_VALUE#</span>

然后定义 ProjectA 样式。

于 2013-06-10T07:11:38.083 回答