Ascending & Descending images when sorting report columns...
Hi guys,
Have you ever tried changing sorting images to custom ones? I've tried with no result..replacing theme images doesn't work..Have no idea what to do..Please help.
With regards,
PsmakR
In this example:
http://htmldb.oracle.com/pls/otn/f?p=31517:1
Report on Departments
is using a different image than standard and it works. It will pull the images from the /i/ directory so I don't think you can specify #WORKSPACE_IMAGES# there. However, you can specify a subdirectory within /i/ like this:
/menu/rup_plus_dgray_16x16.gif
/menu/rup_minus_dgray_16x16.gif
and it will work.
Denes Kubicek
http://deneskubicek.blogspot.com/
http://www.opal-consulting.de/training
http://apex.oracle.com/pls/otn/f?p=31517:1
------------------------------------------------------------------------------
Similar Messages
-
Hi,
I'm working with obiee 11.1.1.6.1 and I need to add images in a report column.
I tried to follow the advices of Gerard for formulas as in
http://gerardnico.com/wiki/dat/obiee/image
but I don't see the images. I used the formula
'<img src="dir/dir/.../myimage.gif">' with data format HTML.
What wrong? Thank for your help.
maxb (Italy)Hi,
Please refer this link.
I guess you have to place image into two location. Please refer the location path the below link then try to use same syntax
http://satyaobieesolutions.blogspot.in/2012/08/fmap-in-obiee-10g-obiee-11g-using-fmap.html
Thanks,
satya
Edited by: Satya Ranki Reddy on Sep 3, 2012 4:48 PM
Edited by: Satya Ranki Reddy on Sep 3, 2012 4:50 PM -
Bad performance when deleting report column in webi(with "Design – Structure only")
Hi all,
One of our customer has recently upgraded from BO XI to BO4.1. In the new BO 4.1, they encountered a bad performance issue when they were deleting a column in Webi(using "Design – Structure only" mode).
With “Design – Structure only" mode, it took webi about 10 seconds to complete after the customer right-clicked a report column and clicked the "delete". The customer said that they only need to wait for less than 1 second when they did the same in BO XI old version.
The new BO version used is 4.1SP02, installed in Windows Server 2008 R2. (Server with 32 core CPU, 32G memory)
This bad performance happened in both Webi web and Rich Client. (in Webi Rich Client, the performance is a little bit better. The 'delete column' action takes about 8 seconds to complete).
Do anyone know how to tune this performance in webi? Thank you.
Besides, it seems that each time we are making change in the webi report structure in IE or Rich Client, webi need to interact with Server site to upload the changes. Is there any option to change this behavior? Say, do not upload change to Server for when 'deleting report column', only trigger the upload after a set of actions(e.g. trigger when click the "Save" button).
Thank you.
Regards,
Eton.Hi all,
Could anyone help me on this? Thanks!
What customer concerns now is that when they did the same 'column editing' action in BO XI R2 for the same report, they did not need to wait. And they need to wait for at least 7-8 second in the BO 4.1SP02 environment for this action to complete.(data already purged, in structure-only mode)
One more information about the webi report being editing is: there are many sheets in the report(about 6~10 sheets in one report). Customer don't want to separate these sheet into different reports as it will increase the effort of their end users to locate similar report sheets.
Regards,
Eton. -
Sorting report columns for PL/SQL report
I have created a report of type "Pl/Sql function body returning Sql query" in which I am generating the column names within the query. I would now like to make the first three of these columns sortable. But when I click on the "sort" box for the first three columns, all my column names suddenly switch to "Col 1", "Col 2" etc.
As you can see by the following snippet from the PL/SQL that generates the query, the column names are data driven, so I'm not in a position to declaratively rename each column. As it happens, the first three columns names are fixed, but all the subsequent column names are data driven.
Suggestions on how to make the first three columns sortable while preserving the generated column names of the remaining columns?
thanks
susan weber
declare
query varchar2(4000); -- query
begin
query := 'select first_name "First Name", last_name "Last Name", encounter_date "Encounter Date" ';
for c1 in (select distinct attr_src, attr_code, attr_text, sequence_number from finding_vt)
loop
query := query || ', (select val_text from finding_vt vt where vt.encounter_id = e.encounter_id and vt.attr_src = ''' || c1.attr_src || ''' and vt.attr_code = ''' || c1.attr_code || ''' and sequence_number = ' || c1.sequence_number || ') "' || substr(c1.attr_text,0,30) || '"';
END LOOP;
query := query || ' from patient pat, encounter e where pat.patient_id = e.patient_id';
return query;
end;This turns out to be related to the choice of "use generic column names" v. "use query specific column names".
I had chosen "use generic column names" just to get past the initial creation page. I then debugged the query creation sql, but never changed that setting back to "use query specific column names". The fix is to choose "use query specific column names". -
Background image on Interactive report column
Hi,
I have had a request from a customer with regards to displaying a background image behind a column on an interactive report.
The interactive report is used to show notes added for an individual in the application.
They want to display a note image behind the text to make the note stand out better.
Is it possible to add a background image to the each cell in the interactive report
Thanks
Kevin
Edited by: Cod'ead on Nov 30, 2009 3:43 PMTake a look at this list of threads (You may find something that helps..) : Oracle Application Express (APEX)
Thank you,
Tony Miller
Webster, TX -
How do I get a column of alphanumerical to stay sorted? When I go to the next column, my first column gets mixed up.
For my purpose, I'll have to go back to Excel.
What is your purpose? Note that Numbers 3.0 does not have a multicolumn sort interface the way you have in Excel (or Numbers 2.3). But it is generally easy to accomplish what you need to do.
Say you have a column A on which you want an alphanumerical sort and within that you want to sort by B (the equivalent of Excel's "Sort by" A "Then by" B).
First do a single column sort by B. Then do a single column sort by A.
SG -
Sorting blank column in jTable
Hi all,
I am having problem sorting blank columns.
I have already read thru [http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#sorting]
Using setAutoCreateRowSorter works except when sorting blank column as i want all blank column to be sorted to the bottom be it ascending or descending order.
I am using Comparator to do the sorting but how do I know when it is doing ascending or descending?
Edited by: zwseo on Jul 17, 2008 7:25 PMTableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(this.dataTable.getModel());
Comparator<String> comparator = new Comparator<String>() {
public int compare(String s1, String s2) {
if (s1.compareTo(s2) == 0) { // same string
return s1.compareTo(s2);
} else {
if (s1.trim().equals("") && !s2.trim().equals("")) //string 1 is null
//if ascending, return positve
return s1.compareTo(s2);
//if decending, return negative
//return s2.compareTo(s1);
else if (!s1.trim().equals("") && s2.trim().equals("")) //string 2 is null
//if ascending, return negative
return s2.compareTo(s1);
//if decending, return positive
//return s1.compareTo(s2);
else {
return s1.compareTo(s2);
this.dataTable.setRowSorter(sorter);I am not sure whether i am doing this right.... please help me on the comments part... i do not know how to write that if statement. -
Resizing an image in Interactive report
Hi All,
I have a report showing number of columns one of which is BLOB image. Problem is when massive, the row can take well over half the screen.
With firebug, I found that if I tweak add style attribute to IMG, (style="WIDTH:200PX;") then I can resize it.
However I am not loss where to insert this. There is nothing in the column attribute of the Image column in interactive report that allows me for this.
Would be grateful if someone can share a tip on how to resize image displaying on interactive report.
Thanks.
INFO
I followed this tutorial: http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/apex/r31/apex31nf/apex31blob.htm
Running APEX 4.1.1Hi,
Put this Style in Page HTML Header
<style type="text/css">
.apexir_WORKSHEET_DATA td[headers="IMAGE"] img // "IMAGE" ->Give Your Report Column Name
width: 50px;
</style>Brgds,
Max. -
Using Dynamic Images in PDF Reports
There are a number of threads in the forum where we talked about dynamically including images in PDF reports before. In order to illustrate one technique you can use for doing this, I put together a sample application that illustrates how to dynamically include images that are stored in BLOB columns. I installed the application on apex.oracle.com and made it available for download and local install. You can find the link and login information for this application as well as the download link here:
http://marcsewtz.blogspot.com/2008/06/one-question-about-pdf-printing-feature.htmlBased on a discussion we had today in another thread, I think it makes sense to add to this thread that the XSL-FO snipped used to get BI Publisher to render images is used when referencing images in a report column, e.g. you included them in your RTF layout using the BI Publisher Desktop Insert->Table option. In this case, the column is referenced with “value-of select”:
<fo:instream-foreign-object content-type="image/jpg">
<xsl:value-of select="LOGO"/>
</fo:instream-foreign-object>
On the other hand, if you want to dynamically include a company logo, or other data that’s not necessarily repeating, e.g. there’s only one value, then you would use the BI Publisher Desktop Insert->Field option . And you would reference your field as follows:
<fo:instream-foreign-object content-type="image/jpg">
<?LOGO?>
</fo:instream-foreign-object>
So in this case LOGO refers to either a single-value field, or a single-row report column value.
Regards,
Marc -
How not to sort datagrid column on double click
Hello,
I am currently building an application containing a datagrid for data representation. I've created a custom datagridheader in order to add a input text for filtering the columns (see code below).
My goal is to hide the textinput, and then show it on a double click on the header. So i would like to know how to avoid the sort of this column each time i double click.?
<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" resize="onColumnResize(event)" clipAndEnableScrolling="true" doubleClick="managefilterField(event)">
<fx:Declarations>
<!--- The default value of the <code>sortIndicator</code> property.
It must be an IFactory for an IVisualElement.
<p>This value is specified in a <code>fx:Declaration</code> block and can be overridden
by a declaration with <code>id="defaultSortIndicator"</code>
in an MXML subclass.</p>
@langversion 3.0
@playerversion Flash 10
@playerversion AIR 2.0
@productversion Flex 4.5
-->
<fx:Component id="defaultSortIndicator">
<s:Path data="M 3.5 7.0 L 0.0 0.0 L 7.0 0.0 L 3.5 7.0" implements="spark.components.gridClasses.IGridVisualElement">
<fx:Script>
<![CDATA[
import spark.components.DataGrid;
import spark.components.Grid;
* @private
public function prepareGridVisualElement(grid:Grid, rowIndex:int, columnIndex:int):void
const dataGrid:DataGrid = grid.dataGrid;
if (!dataGrid)
return;
const color:uint = dataGrid.getStyle("symbolColor");
arrowFill1.color = color;
arrowFill2.color = color;
]]>
</fx:Script>
<s:fill>
<s:RadialGradient rotation="90" focalPointRatio="1">
<!--- @private -->
<s:GradientEntry id="arrowFill1" color="0" alpha="0.6" />
<!--- @private -->
<s:GradientEntry id="arrowFill2" color="0" alpha="0.8" />
</s:RadialGradient>
</s:fill>
</s:Path>
</fx:Component>
<!--- Displays the renderer's label property, which is set to the column's <code>headerText</code>.
It must be an instance of a <code>TextBase</code>, like <code>s:Label</code>.
<p>This visual element is added to the <code>labelDisplayGroup</code> by the renderer's
<code>prepare()</code> method. Any size/location constraints specified by the labelDisplay
define its location relative to the labelDisplayGroup.</p>
<p>This value is specified with a <code>fx:Declaration</code> and can be overridden
by a declaration with <code>id="labelDisplay"</code>
in an MXML subclass.</p>
@langversion 3.0
@playerversion Flash 10
@playerversion AIR 2.0
@productversion Flex 4.5
-->
<s:Label id="labelDisplay"
verticalCenter="1" left="0" right="0" top="0" bottom="0"
textAlign="start"
fontWeight="bold"
verticalAlign="middle"
maxDisplayedLines="1"
showTruncationTip="true" />
</fx:Declarations>
<fx:Script>
<![CDATA[
import net.awl.ismp.console.components.misc.FilterCriteria;
import net.awl.ismp.console.events.ColumnFilteredEvent;
import net.awl.ismp.console.events.ColumnResizedEvent;
import mx.events.ResizeEvent;
import spark.components.gridClasses.IGridVisualElement;
import mx.core.IVisualElement;
import spark.components.DataGrid;
import spark.components.GridColumnHeaderGroup;
import spark.components.gridClasses.GridColumn;
import spark.primitives.supportClasses.GraphicElement;
// chrome color constants and variables
private static const DEFAULT_COLOR_VALUE:uint = 0xCC;
private static const DEFAULT_COLOR:uint = 0xCCCCCC;
private static const DEFAULT_SYMBOL_COLOR:uint = 0x000000;
private static var colorTransform:ColorTransform = new ColorTransform();
* @private
private function dispatchChangeEvent(type:String):void
if (hasEventListener(type))
dispatchEvent(new Event(type));
protected function onColumnResize(event:ResizeEvent):void
dispatchEvent(new ColumnResizedEvent(ColumnResizedEvent.COLUMNRESIZED_EVT,this.width,this.column.columnInde x));
// maxDisplayedLines
private var _maxDisplayedLines:int = 1;
[Bindable("maxDisplayedLinesChanged")]
[Inspectable(minValue="-1")]
* The value of this property is used to initialize the
* <code>maxDisplayedLines</code> property of this renderer's
* <code>labelDisplay</code> element.
* @copy spark.components.supportClasses.TextBase#maxDisplayedLines
* @default 1
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.5
public function get maxDisplayedLines():int
return _maxDisplayedLines;
override protected function stateChanged(oldState:String, newState:String, recursive:Boolean):void
trace("state changed from : "+oldState+" to "+newState);
super.stateChanged(oldState, newState, recursive);
* @private
public function set maxDisplayedLines(value:int):void
if (value == _maxDisplayedLines)
return;
_maxDisplayedLines = value;
if (labelDisplay)
labelDisplay.maxDisplayedLines = value;
invalidateSize();
invalidateDisplayList();
dispatchChangeEvent("maxDisplayedLinesChanged");
// sortIndicator
private var _sortIndicator:IFactory;
private var sortIndicatorInstance:IVisualElement;
[Bindable("sortIndicatorChanged")]
* A visual element that's displayed when the column is sorted.
* <p>The sortIndicator visual element is added to the <code>sortIndicatorGroup</code>
* by this renderer's <code>prepare()</code> method. Any size/location constraints
* specified by the sortIndicator define its location relative to the sortIndicatorGroup.</p>
* @default null
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.5
public function get sortIndicator():IFactory
return (_sortIndicator) ? _sortIndicator : defaultSortIndicator;
* @private
public function set sortIndicator(value:IFactory):void
trace("setSortIndicator");
if (_sortIndicator == value)
return;
_sortIndicator = value;
if (sortIndicatorInstance)
sortIndicatorGroup.includeInLayout = false;
sortIndicatorGroup.removeElement(sortIndicatorInstance);
sortIndicatorInstance = null;
invalidateDisplayList();
dispatchChangeEvent("sortIndicatorChanged");
* @private
* Create and add the sortIndicator to the sortIndicatorGroup and the
* labelDisplay into the labelDisplayGroup.
override public function prepare(hasBeenRecycled:Boolean):void
trace("prepare !!");
super.prepare(hasBeenRecycled);
if (labelDisplay && labelDisplayGroup && (labelDisplay.parent != labelDisplayGroup))
labelDisplayGroup.removeAllElements();
labelDisplayGroup.addElement(labelDisplay);
trace(sortIndicator);
trace("sortIndicatorInstance : "+sortIndicatorInstance);
const column:GridColumn = this.column;
if (sortIndicator && column && column.grid && column.grid.dataGrid && column.grid.dataGrid.columnHeaderGroup)
const dataGrid:DataGrid = column.grid.dataGrid;
const columnHeaderGroup:GridColumnHeaderGroup = dataGrid.columnHeaderGroup;
if (columnHeaderGroup.isSortIndicatorVisible(column.columnIndex))
if (!sortIndicatorInstance)
sortIndicatorInstance = sortIndicator.newInstance();
sortIndicatorGroup.addElement(sortIndicatorInstance);
chromeColorChanged = true;
invalidateDisplayList();
// Initialize sortIndicator
sortIndicatorInstance.visible = true;
const gridVisualElement:IGridVisualElement = sortIndicatorInstance as IGridVisualElement;
if (gridVisualElement)
gridVisualElement.prepareGridVisualElement(column.grid, -1, column.columnIndex);
sortIndicatorGroup.includeInLayout = true;
sortIndicatorGroup.scaleY = (column.sortDescending) ? 1 : -1;
else
if (sortIndicatorInstance)
sortIndicatorGroup.removeElement(sortIndicatorInstance);
sortIndicatorGroup.includeInLayout = false;
sortIndicatorInstance = null;
private var chromeColorChanged:Boolean = false;
private var colorized:Boolean = false;
* @private
* Apply chromeColor style.
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
//trace("update display list");
// Apply chrome color
if (chromeColorChanged)
var chromeColor:uint = getStyle("chromeColor");
if (chromeColor != DEFAULT_COLOR || colorized)
colorTransform.redOffset = ((chromeColor & (0xFF << 16)) >> 16) - DEFAULT_COLOR_VALUE;
colorTransform.greenOffset = ((chromeColor & (0xFF << 8)) >> 8) - DEFAULT_COLOR_VALUE;
colorTransform.blueOffset = (chromeColor & 0xFF) - DEFAULT_COLOR_VALUE;
colorTransform.alphaMultiplier = alpha;
transform.colorTransform = colorTransform;
var exclusions:Array = [labelDisplay, sortIndicatorInstance];
// Apply inverse colorizing to exclusions
if (exclusions && exclusions.length > 0)
colorTransform.redOffset = -colorTransform.redOffset;
colorTransform.greenOffset = -colorTransform.greenOffset;
colorTransform.blueOffset = -colorTransform.blueOffset;
for (var i:int = 0; i < exclusions.length; i++)
var exclusionObject:Object = exclusions[i];
if (exclusionObject &&
(exclusionObject is DisplayObject ||
exclusionObject is GraphicElement))
colorTransform.alphaMultiplier = exclusionObject.alpha;
exclusionObject.transform.colorTransform = colorTransform;
colorized = true;
chromeColorChanged = false;
super.updateDisplayList(unscaledWidth, unscaledHeight);
* @private
override public function styleChanged(styleProp:String):void
var allStyles:Boolean = !styleProp || styleProp == "styleName";
super.styleChanged(styleProp);
if (allStyles || styleProp == "chromeColor")
chromeColorChanged = true;
invalidateDisplayList();
protected function managefilterField(event:MouseEvent):void
trace("double click sortIndicator : "+this.sortIndicatorInstance);
this.filterInput.visible=!this.filterInput.visible;
this.filterInput.includeInLayout=this.filterInput.visible;
this.filterSpacer.visible=this.filterInput.visible;
this.filterSpacer.includeInLayout=this.filterInput.visible;
if(!this.filterInput.visible)
this.filterInput.text="";
dispatchEvent(new ColumnFilteredEvent(ColumnFilteredEvent.COLUMNFILTERED_EVT,new FilterCriteria(this.column.dataField,this.filterInput.text)));
this.filterInput.setStyle("borderColor",0xFF6319);
this.filterInput.setStyle("focusColor",0xFF6319);
//this.filterInput.setStyle(
protected function onTextInputSelection(event:MouseEvent):void
event.stopImmediatePropagation();
this.filterInput.setStyle("borderColor",0xFF6319);
this.filterInput.setStyle("focusColor",0xFF6319);
protected function onKeyUp(event:KeyboardEvent):void
if(event.charCode==Keyboard.ENTER)
stage.focus=null;
protected function onFocusOut(event:FocusEvent):void
this.filterInput.setStyle("borderColor",0x00ff00);
this.filterInput.setStyle("focusColor",0x70B2EE);
dispatchEvent(new ColumnFilteredEvent(ColumnFilteredEvent.COLUMNFILTERED_EVT,new FilterCriteria(this.column.dataField,this.filterInput.text)));
]]>
</fx:Script>
<s:states>
<s:State name="normal" />
<s:State name="hovered" />
<s:State name="down" />
</s:states>
<!-- layer 1: shadow -->
<!--- @private -->
<s:Rect id="shadow" left="-1" right="-1" top="-1" bottom="-1" radiusX="2">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0x000000"
color.down="0xFFFFFF"
alpha="0.01"
alpha.down="0" />
<s:GradientEntry color="0x000000"
color.down="0xFFFFFF"
alpha="0.07"
alpha.down="0.5" />
</s:LinearGradient>
</s:fill>
</s:Rect>
<!-- layer 2: fill -->
<!--- @private -->
<s:Rect id="fill" left="0" right="0" top="0" bottom="0">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0xFFFFFF"
color.hovered="0xBBBDBD"
color.down="0xAAAAAA"
alpha="0.85" />
<s:GradientEntry color="0xD8D8D8"
color.hovered="0x9FA0A1"
color.down="0x929496"
alpha="0.85" />
</s:LinearGradient>
</s:fill>
</s:Rect>
<!-- layer 3: fill lowlight -->
<!--- @private -->
<s:Rect id="lowlight" left="0" right="0" top="0" bottom="0">
<s:fill>
<s:LinearGradient rotation="270">
<s:GradientEntry color="0x000000" ratio="0.0" alpha="0.0627" />
<s:GradientEntry color="0x000000" ratio="0.48" alpha="0.0099" />
<s:GradientEntry color="0x000000" ratio="0.48001" alpha="0" />
</s:LinearGradient>
</s:fill>
</s:Rect>
<!-- layer 4: fill highlight -->
<!--- @private -->
<s:Rect id="highlight" left="0" right="0" top="0" bottom="0">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0xFFFFFF"
ratio="0.0"
alpha="0.33"
alpha.hovered="0.22"
alpha.down="0.12"/>
<s:GradientEntry color="0xFFFFFF"
ratio="0.48"
alpha="0.33"
alpha.hovered="0.22"
alpha.down="0.12" />
<s:GradientEntry color="0xFFFFFF"
ratio="0.48001"
alpha="0" />
</s:LinearGradient>
</s:fill>
</s:Rect>
<!-- layer 5: highlight stroke (all states except down) -->
<!--- @private -->
<s:Rect id="highlightStroke" left="0" right="0" top="0" bottom="0" excludeFrom="down">
<s:stroke>
<s:LinearGradientStroke rotation="90" weight="1">
<s:GradientEntry color="0xFFFFFF" alpha.hovered="0.22" />
<s:GradientEntry color="0xD8D8D8" alpha.hovered="0.22" />
</s:LinearGradientStroke>
</s:stroke>
</s:Rect>
<!-- layer 6: highlight stroke (down state only) -->
<!--- @private -->
<s:Rect id="hldownstroke1" left="0" right="0" top="0" bottom="0" includeIn="down">
<s:stroke>
<s:LinearGradientStroke rotation="90" weight="1">
<s:GradientEntry color="0x000000" alpha="0.25" ratio="0.0" />
<s:GradientEntry color="0x000000" alpha="0.25" ratio="0.001" />
<s:GradientEntry color="0x000000" alpha="0.07" ratio="0.0011" />
<s:GradientEntry color="0x000000" alpha="0.07" ratio="0.965" />
<s:GradientEntry color="0x000000" alpha="0.00" ratio="0.9651" />
</s:LinearGradientStroke>
</s:stroke>
</s:Rect>
<!--- @private -->
<s:Rect id="hldownstroke2" left="1" right="1" top="1" bottom="1" includeIn="down">
<s:stroke>
<s:LinearGradientStroke rotation="90" weight="1">
<s:GradientEntry color="0x000000" alpha="0.09" ratio="0.0" />
<s:GradientEntry color="0x000000" alpha="0.00" ratio="0.0001" />
</s:LinearGradientStroke>
</s:stroke>
</s:Rect>
<!--<s:Rect id="fill" left="0" right="0" top="0" bottom="0">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color.normal="0xf9f9f9" color.hovered="0xfcfdfa"
color.down="0xdceac2" alpha="0.85" />
<s:GradientEntry color.normal="0xeaeaea" color.hovered="0xdceac2"
color.down="0xd2e1b5" alpha="0.85" />
</s:LinearGradient>
</s:fill>
</s:Rect>-->
<!--<s:VGroup left="7" right="7" top="5" bottom="5" gap="6" verticalAlign="middle">
<s:TextInput width="100%" />
<s:HGroup width="100%">
<s:Group id="labelDisplayGroup" width="100%" />
<s:Group id="sortIndicatorGroup" includeInLayout="false" />
</s:HGroup>
</s:VGroup>-->
<s:VGroup verticalAlign="middle" left="7" top="5" right="7" bottom="5" gap="2" >
<s:TextInput id="filterInput" width="100%" visible="false" includeInLayout="false" keyUp="onKeyUp(event)" focusOut="onFocusOut(event)" click="onTextInputSelection(event)"/>
<s:Spacer id="filterSpacer" visible="false" includeInLayout="false" height="5" />
<s:HGroup width="100%" height="100%" verticalAlign="middle">
<s:Group id="labelDisplayGroup" width="100%" />
<s:Group id="sortIndicatorGroup" includeInLayout="false" />
</s:HGroup>
</s:VGroup>
</s:GridItemRenderer>Based on your idea, i've intercepted the click event and I use stopImmediatePropagation.
THen i added an image to sort the column. So if the image is clicked the sort is ok. -
Strange application behaviour after try to sort datagrid column
Hi all
I have a simple Air desktop application with customized DataGrid (Spark version). Problem that users found is when they trying to sort grid by one of the columns applicaiton closes without any messages. I've repeated this bug on my PC but there is a problem - in debug mode (i mean with ADL) it works OK without any tries to crash on sort. So my questions in priority order:
1. Is that possible to obtain live Air application errors log? I mean after installation. Maybe with 3rd party applicaiton. I'm using MonsterDebugger and added few log messages but looks like application just crashes without firing closing or close event.
2. Which part of DataGrid could crash applicaiton in release mode? Just thought debug mode is more strict.
My dev system:
Flash Builder 4.6
Adobe Air 3.2
Win 7 Ultimate 64bit
Best regards, Roman
P.S. Sorry for my bad englishBased on your idea, i've intercepted the click event and I use stopImmediatePropagation.
THen i added an image to sort the column. So if the image is clicked the sort is ok. -
Report column headings and title tag
Is there a way to add a title tag (similar to the alt tag for images) to my report column headings, so that when I hover over the column headings I get a description of the column?
I found a solution here:
Title= Attribute for report column headings -
How to sort data in descending order when user clicks on the column heading
Hi
I have a report called "Top customers", which shows the top customers for a specific product line. It displays the customer name and one column with the total amount spent in the period for each product line. By default, the leftmost product line is sorted in descending order.
If the user wants to know who are the top customers for another product line, they simply click on the column heading to sort the list by that column.
The problem is that when you click for the first time on a sortable column heading, Apex sorts it in ascending order; you need to click on the same column heading again to sort in descending order.
Is it possible to change this behaviour and sort the data in descending order in the first click? So the users don't have to click twice...
Thanks
Luis
PS: Apex 3 running on Oracle 10.2.0Luis,
See: Can I "catch" a click on a sortable column header of a report?
Take a look at Anton Nielsen's answer with regards to hiding a column and displaying its value instead of the sortable column.
Asumming the following simple report query:
select product,sales
from <table>
Change that into:
select product
,sales*-1 as reverse_sales -- Select this one as an extra column
,sales -- Hide this column
from <table>
In your report column attributes (of column reverse_sales), html-expression, type #sales#. It then displays the normal sales. However apex will generate a 'order by 2 asc' for the first time. The '2' will refer to the sales*-1 value: sorting it asc, is the same as sorting sales descending...
Toon -
Null Index Error When Sorting Standard Report Column
I have a page in one of my application that contains three reports in three seperate regions within the page. You only see one report at a time, however, and control which one you see based on a sidebar table containing links that call javascript functions to toggle the hiding/showing of each region.
The problem stems from trying to use the standard column sort on any of the columns. When I click the column header in any of the the reports, the page submits the request to sort the column (for example: request="fsp_sort_6", etc...), and then the page refreshes with all three reports displayed. The report for which you actually 'clicked' a column header will be sorted. However the other two will display with an error (code ORA-06502) saying that the report cannot parse the query because of a null key index value in one of the corresponding tables being queried.
The weird thing is - this only happens on other computers - not when I'm on my workstation developing in my apex workspace/schema. I've even given each of the three reports a seperate static ID attribute so that I can identify each using those unique IDs.
I have to say - I am stumped. Any help would be much appreciated. If you need more details, feel free to respond to this thread.
Thanks!What version of APEX are you using? This was supposed to be fixed in 3.1 however it isn't because we still experience it sometimes, we just have never been able to re-create it in order to raise an SR. Getting to the bottom of this would be fantastic for us as it's the one thing which makes me extremely nervous of implementing new applications which are production-critical. The only workarounds are to flush the SGA or edit the report in production so the query is different (usually just fetch back null somewhere and then hide the column). This clearly isn't acceptable however without a reproducable test case there isn't much which can be done! :(
-
Sorting images mislabeled in Report Attributes?
I added some custom images in the Sorting section of the Report Attributes. When I ran the report the images displayed were opposite of what I expected (i.e. the descending image displayed for an ascending sort and vice versa.) Upon further investigation it appears that the labels in the Sorting section are indeed reversed. The descending image is displayed when the sort order is ascending and vice versa. Is this a bug?
Erik,
Thanks, this explains it. By specifying the request as part of your URL you run into the recently uncovered issue. The request you're setting is REMFROMLIST and ADD2LIST. You probably either have links that include those requests or you have branches where you specify them. Either way, in order to get reports sorting to work, you'll have to make sure that the request strings are not part of your URL. This is a work-around and the upcoming HTML DB patch release will solve this issue.
One way of avoiding this is to have computations on the previous pages that set a napplication level or page level item to the REMFROMLIST and ADD2LIST values and then you can use those items for your conditions that are currently evaluating those strings.
Hope this helps and sorry for the inconvenience,
Marc
Maybe you are looking for
-
No image on screen using Mini DisplayPort to VGA Adapter
Received mini today. After unboxing, read through the packet. Then began to hook everything up as directed. I used a Mini DisplayPort to VGA Adapter to connect the monitor from our now dead desktop to the mini. After double checking all connectio
-
How do I roll back from Premiere Pro CC 2014.0.1 to 2014.0.0?
2014.0.1 destroys my ability to upload large files to YouTube which I need to be able to do. The functionality was fine before the new .01 which went online Thursday 7/25. Tech Support advised me to uninstall then stop the re-install at 90%. All that
-
Cannot install Exchange Server 2013 SP1 on Server 2012
It was quite a challenge to clear the errors generated by a stock Windows 2012 install (I think that Exchange installer should install prerequisites for me, not provide cryptic error messages). Once they were cleared however the actual install fails
-
Hi all, I've seen a few examples of creating Pick Lists through the DI, and I can't understand why my version won't work... If anyone can notice anything obvious and point it out to me that would be of great help! Using SAPB1 v9 PL10. MSSQL 2012. BoO
-
How to install verion 8.0 on windows 8.0
how can I install my old illustrator 8.0 onto my new system with windows 8.0