第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

根據(jù)條件給單元格上色

根據(jù)條件給單元格上色

慕絲7291255 2023-05-11 16:23:40
我有一個(gè)表格,當(dāng)標(biāo)題中的單元格和行中的單元格在數(shù)據(jù)源的某個(gè)列表中成對(duì)出現(xiàn)時(shí),我必須在其中設(shè)置背景顏色。例如:列:“AUD, USD” 行:“BRL, CZK”在 AUD 列的單元格中,行是 BRL 我檢查數(shù)據(jù)源“AUD-BRL”中的列表中是否存在,如果存在,我需要用綠色著色現(xiàn)在,我想這樣做:列和行將在列表中。我檢查了兩個(gè)列表,然后在這些索引單元格中著色。這樣一來(lái),我將為整個(gè)表格提供一個(gè)函數(shù),而不必從每個(gè)單元格調(diào)用函數(shù)(總共有 1200 個(gè)單元格)。那怎么辦?
查看完整描述

2 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

如果我正確理解你的問(wèn)題,你想為表格詳細(xì)信息行中的所有單元格添加突出顯示規(guī)則。不幸的是,我認(rèn)為在 BIRT 中實(shí)現(xiàn)這一點(diǎn)有點(diǎn)麻煩。


我假設(shè)您的表格具有諸如單元格值的 COL_VALUE_1, ..., COL_VALUE_9 和列標(biāo)題的 COL_TITLE_1, ..., COL_TITLE_9 之類(lèi)的綁定。


此外,我假設(shè)有一些在 BIRT 中使用 Javascript 的經(jīng)驗(yàn)。


我這樣做的方式是這樣的:


onCreate對(duì)于每個(gè)詳細(xì)信息單元格,我使用如下代碼創(chuàng)建一個(gè)事件腳本:


highlightDetailCell(this, row, 1);

... 其中 1 是列號(hào)。例如,這是第一列的代碼,對(duì)于第二列,我將 1 替換為 2,依此類(lèi)推??梢酝ㄟ^(guò)復(fù)制和粘貼快速完成此操作。


onInitialize接下來(lái),我在報(bào)告腳本內(nèi)的一個(gè)函數(shù)中實(shí)現(xiàn)邏輯,如下所示:


function highlightDetailCell(item, row, colnum) {

? ? var colTitle = row["COL_TITLE_" + colnum];

? ? var colValue = row["COL_VALUE_" + colnum];

? ? var highlight = use_your_logic_to_decide(colTitle, colValue);

? ? if (highlight) {

? ? ? ? item.get_Style().backgroundColor = "yellow";

? ? }

}

這是基本的想法。如果要將腳本添加到多個(gè)單元格,手動(dòng)執(zhí)行此操作可能需要大量工作。事實(shí)上,可以highlightDetailCell使用腳本將調(diào)用附加到函數(shù)(當(dāng)然,這是 BIRT :-)。您應(yīng)該閱讀文檔并修改Design Engine API(簡(jiǎn)稱(chēng) DE API)。


但請(qǐng)注意,編寫(xiě)和調(diào)試這樣的腳本可能比添加和編輯單行到 1200 個(gè)單元格的驢子工作還要多!


我曾經(jīng)做過(guò)的基本上是這樣的(在onFactoryreport項(xiàng)目的情況下):


// This code is a simplified version that modifies just the first cell,

// However it should point you into the right direction.


// Some preparation

importPackage(Packages.org.eclipse.birt.report.model.api);

var myconfig = reportContext.getReportRunnable().getReportEngine().getConfig();

var de = DataEngine.newDataEngine( myconfig, null );

var elementFactory = reportContext.getDesignHandle().getElementFactory();


// Find the item you want to modify (in my case, a "Grid Item").

// Note that for tables, the structure is probably a bit different.

// E.G. tables have header, detail and footer rows,?

// while grids just have rows.

var containerGrid = reportContext.getDesignHandle().findElement("Layout MATRIX");


// Get the first row

var row0 = containerGrid.getRows().get(0);

// Do something with the first cell (:

var cell = row0.getCells().get(0).getContent();

cell.setStringProperty("paddingTop", "1pt");

cell.setStringProperty("paddingLeft", "1pt");

cell.setStringProperty("paddingRight", "1pt");

cell.setStringProperty("paddingBottom", "1pt");

cell.setStringProperty("borderBottomColor", "#000000");

cell.setStringProperty("borderBottomStyle", "solid");

cell.setStringProperty("borderBottomWidth", "thin");

cell.setStringProperty("borderTopColor", "#000000");

cell.setStringProperty("borderTopStyle", "solid");

cell.setStringProperty("borderTopWidth", "thin");

cell.setStringProperty("borderLeftColor", "#000000");

cell.setStringProperty("borderLeftStyle", "solid");

cell.setStringProperty("borderLeftWidth", "thin");

cell.setStringProperty("borderRightColor", "#000000");

cell.setStringProperty("borderRightStyle", "solid");

cell.setStringProperty("borderRightWidth", "thin");


// When you're finished:

de.shutdown( );

如果您必須處理合并的單元格,事情會(huì)更復(fù)雜。


您甚至可以向單元格添加內(nèi)容(我通過(guò)這種方式動(dòng)態(tài)創(chuàng)建了整個(gè)矩陣)。


該腳本并不完全符合您的要求(將腳本添加到每個(gè)單元格),但我將其留作練習(xí)......


保存動(dòng)態(tài)修改的報(bào)表設(shè)計(jì)以在設(shè)計(jì)器中打開(kāi)也很有幫助,看看結(jié)果:


reportContext.getDesignHandle().saveAs("c:/temp/modified_report.rptdesign");

HTH


查看完整回答
反對(duì) 回復(fù) 2023-05-11
?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

轉(zhuǎn)到要設(shè)置格式的單元格(也適用于行或列等元素),在“屬性編輯器”上轉(zhuǎn)到“突出顯示”并單擊“添加...”。您將看到一個(gè)對(duì)話(huà)框,您可以在其中輸入突出顯示的條件以及在條件為真時(shí)要在元素上應(yīng)用的樣式。


查看完整回答
反對(duì) 回復(fù) 2023-05-11
  • 2 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)