Highlighted Row in a Matrix

Good Day
Experts:
I am having trouble finding if a Matrix row is highlighted when it is clicked. 
I check for a the Matrix click(Item 38 on SalesOrder screen) with this code:
<b>If pVal.BeforeAction = False Then
          Select Case pVal.EventType
                    Case et_CLICK
                            If pVal.ItemUID = "38" Then
                                SalesOrderLine = pVal.Rows
                            End If
          End Select
End If</b>
This works fine, I get the Line that has been clicked.  However, at this point I do not know if it has been clicked to select(Highlighted) or clicked to de-select(Not highlighted).  Is there a way to tell if a row in a Matrix is highlighted using the pVal reference like in the code above to get the Row number?
Thanks,
EJD

Hi Ed
I don't know if this will answer your question, but here it goes.
When one clicks the row selector, under the "#" column to select the row, that row becomes hightlighted.  To test which rows have been selected I use the GetNextSelectedRow method, something like the following ...
                Dim intRow As Int32 = objMatrix.GetNextSelectedRow(0, SAPbouiCOM.BoOrderType.ot_RowOrder)
                While intRow > 0
                    intRow = objMatrix.GetNextSelectedRow(intRow, SAPbouiCOM.BoOrderType.ot_RowOrder)
                End While
hope it helps
Message was edited by:
        Neftali Figueroa
I edited the code to simplify.  What gives you the row is the variable intRow

Similar Messages

  • How to color a particular row in a matrix

    Hi All,
    Using SBO, i am having two queries:
    1. Is it possible to color single row, Cell in a matrix or a grid by any way.
    2. And How to copy particular row from 1 matrix to another?. I want this by using drag n drop event of mouse. Only click and right click mouse events are available in SBO. But I want to use mouse down and mouse up events..Please help me, it's urgent.
    Thanks in advance.

    Hi,
    1) No, unfortunately, you cannot colour either a row or a single cell in the current versions of the matrix and grid controls. As a workaround, I use an image column as the first column in my matrices and then put coloured squares in this column for rows that I want to 'highlight'.
    2) You can't drag and drop using the SBO controls. Personally, I use the right-click event and add a menu option to copy the selected rows to the other matrix and it works fine. Click is the Mouse Down event and Item Pressed is the Mouse Up but it is not fully supported on matrices or grids.
    Kind Regards,
    Owen

  • Classic report - Highlight row

    APEX 4.2.1
    With all the latest and greatest dynamic action and jQuery goodness in 4.2.1, what is the easiest, declarative way to highlight rows in a classic report region (Generic Column Template) based on data condition using values on the row, using #COL# notation? e.g. If SAL > 1000 and DEPT = Marketing, highlight row in red or some such.
    In prior versions, this involved copying the Generic Column Template to one used just by this report and use the (up to 4) Column Templates with a PL/SQL expression.
    Thanks

    Custom report templates are okay if your needs are straightforward. But you said it already, there are only four different flavors to chose from.
    Here is a solution that'll work on all pages if once installed and can be extended to a multitude of visual attributes. Only an example that you may want to adapt to your liking.
    Edit Page, "CSS, Inline", or via Shared Components &gt; CSS files
    td.color1 {background-color:#9F9} /* Table cell gets colored in light green  */
    td.color2 {background-color:#FF9} /* Table cell gets colored in light yellow */
    td.color3 {background-color:#F99} /* Table cell gets colored in light red    */
    /** and so forth, followed by as many declarations as you need... */Page Template, "Function and Global Variable Declaration":
    /** Change the visual appearance of your classic report as you like after it's rendered */
    function customClassicReportDisplay(){
      /** Transfer the color class from the text to the table cell */
      $('td span.color1').closest('td').addClass('color1');
      $('td span.color2').closest('td').addClass('color2');
      $('td span.color3').closest('td').addClass('color3');
      // and so forth, followed by as many declarations as you need...
    }This jQuery code can be simplified, especially the handling of many lines for many colors can still be compacted, which makes it more difficult to understand though.
    Page Template, "Execute when Page Loads":
    /** Perform the function on Page Load */
    customClassicReportDisplay();
    /** Perform the function after Partial Page Rendering */
    $('form').bind('apexafterrefresh', function(){
      customClassicReportDisplay();
    });Here comes the trick. In the SQL statement, you wrap a &lt;span&gt; HTML tag with a different class declaration around each value that you want to color.
    SELECT '<span class="color' || case when some_value > 100 then '2' else null end || '">' || some_value       || '</span>' AS some_value
         , '<span class="color' || decode(some_other_value, 'too much', '3', NULL)   || '">' || some_other_value || '</span>' AS some_other_value
         , '<span class="color' || case when last_value between  0 and  10 then '1'
                                        when last_value between 11 and  50 then '2'
                                        when last_value between 51 and 100 then '3'
                                        else null end                                || '">' || last_value       || '</span>' AS last_value
      FROM ...This obviously makes the SQL a bit more complicated but in my opinion, I think this is a data driven topic and therefore just fine. Hence you say "depending on value ranges I want to change something" - and that belongs to SQL. WHAT you want to do (here: change color) is then up to your JS and CSS declaration. If you shift the SQL code into a view it's better to maintain and won't get spoiled by non-savvy third party developers...
    I know that's not what you originally asked for, because there is no #COL# notation, but for me it's the most flexible solution I can think of under APEX.

  • How to disable a Entire row in a Matrix in Find Mode (User Form)

    Hi,
    How to disable a Entire row in a Matrix in Find Mode (User Form)
    Regards
    Jambu

    Hi,
       Iam using Bubble event = false in click event but the matrix row
    is allow to edit but we cant save the document in Find Mode That is fine.
    What is my actual requirement is In find mode matrix Row not allow to enter the data .
    For examble In ADD mode i enter the data in Three rows (Item Section - Matrix) and
    save the document. Whwn i open the document in find mode the three row is not allow
    to editable like the same functionality of PO, sales Order, etc ..
    Regards
    Jambu

  • How to change the forecolor of a single row of a matrix

    In a matrix which is displaying list of items like the Sales Order Form, I am trying to change the forecolor to red for only those items where the item's required quantity is lesser than the item's avialable quantity.
    The Code Snippet is as follows:
    ReqQty = oMatrix.Columns.Item("ReqQty").Cells.Item(pval.row).Specific.value
    AvaQty = oMatrix.Columns.Item("AvaQty").Cells.Item(pval.row).Specific.value
    If ReqQty > AvaQty Then
    Dim txtField As SAPbouiCOM.EditText
    oMatrix = oform.Items.Item("cMatrix").Specific
    txtField = oMatrix.Columns.Item("ItemNo").Cells.Item (pval.row).Specific
    txtField.ForeColor = 200
    txtField = oMatrix.Columns.Item("ItemDesc").Cells.Item(pval.row).Specific
    txtField.ForeColor = 200
    oMatrix.Columns.Item("ReqQty").Cells.Item(pval.row).Specific
    txtField.ForeColor = 200
    oMatrix.Columns.Item("AvaQty").Cells.Item(pval.row).Specific
    txtField.ForeColor = 200
    End If
    But the problem is , if this condition applies to any one of the items in the matrix, then all the rows in the matrix change the forecolor to red.
    Has anyone faced this problem and has a solution to it?

    I haven't tested the problems you have for a matrix.
    But I have seen the properties are not exposed for the Cell object...
    Regarding the ForeColor and BackColor on the EditText they are deprecated starting from 2004 BUT you have the same properties now exposed at the <b>Item</b> level.
    For the Column object the ForeColor and BackColor are not market as deprecated.
    Regards
    Trinidad.

  • SSRS Get value of previous row in a matrix (cannot use previous function because it's a matrix)

    I have a SSRS report which uses a matrix for a crosstab effect.
    Each row contains about 10 score values in 10 columns respectively. I need each row to check against the previous row, and i need each score value in each column to be compared to the corresponding column score value in the previous row. 
    If the current score is greater than the corresponding previous score (in the previous row), then i want to change the background of the cell.
    if the current score is smaller than the previous, then it's a different color.
    if they are equal, or it's the first row in the matrix table, then leave white.
    I have found custom code functions to use in the SSRS expression fields, but every single one of them compares against the previous COLUMN value and not the previous ROW value which is what i need. the "Previous" function would be perfect if i
    could use it in a matrix but i can't. (i keep getting error "The use of a Previous aggregate function in a tablix cell is not supported"). looking around it turns out that matrices are arrange in groups and not in rows which is why Previous can't
    be used and the only way is with custom code.
    Please help. if you have any custom code samples that achieve what i need, please share, or give me advice on how to achieve this. 
    Thank you

    I figured it out. Maybe it can help someone else in the future:
    Public Shared count as Integer = 0
    Public Shared currentRow As Integer = 1
    Public Shared MatrixStructures As New System.Collections.Generic.List(Of MatrixStructure)()
    Public Shared Function GetCellColor(row as Integer, score as Integer)
    If (row > currentRow) Then
    count = 0
    currentRow = row
    End If
    count = count + 1
    Dim matrixStructure As New MatrixStructure()
    matrixStructure.RowIndex = row
    matrixStructure.ColumnIndex = count
    matrixStructure.ScoreValue = score
    MatrixStructures.Add(matrixStructure)
    If score = 0 Then
    Return "White"
    End If
    Dim val As MatrixStructure = MatrixStructures.Find(Function(s As MatrixStructure)
    Return s.GetRowIndex() = row - 1 AndAlso s.GetColumnIndex() = count
    End Function)
    If (Not (val Is Nothing)) Then
    If val.scoreValue = 0 Then
    Return "White"
    End If
    If score >= val.scoreValue + 2 Then
    Return "Green"
    ElseIf score <= val.scoreValue - 2 Then
    Return "Red"
    End If
    End If
    Return "White"
    End Function
    Public Class MatrixStructure
    Public rowIndex As Integer
    Property GetRowIndex() As Integer
    Get
    Return rowIndex
    End Get
    Set(ByVal Value As Integer)
    rowIndex = Value
    End Set
    End Property
    Public columnIndex As Integer
    Property GetColumnIndex() As Integer
    Get
    Return columnIndex
    End Get
    Set(ByVal Value As Integer)
    columnIndex = Value
    End Set
    End Property
    Public scoreValue As Integer
    Property GetScoreValue () As Integer
    Get
    Return scoreValue
    End Get
    Set(ByVal Value As Integer)
    scoreValue = Value
    End Set
    End Property
    End Class
    and to pass the current row number from the expression i use this
    Ceiling(RowNumber(NOTHING) / 10)
    i divide the row number by 10 because there are ten columns. if you don't know the number of columns, or it's a variable number, then return it from the stored procedure query in the first place. that's what I had to do

  • How can I delete the last row of a Matrix

    Hi All,
    Does anyone know whether deleting the last row of a matrix controlled by a UDO child table gives problems? I have the strange effect that I cannot delete the very last existing row in the matrix, i.e. after updating the delete the last to-be deleted row comes back into my matrix !!
    I give you a snippet of my code (function getSelectedRow gives the selected row in the matrix):
    ==
    if (evnt.ItemUID.Equals(ViewConstants.Items.DELETEBUTTON))
      if (evnt.EventType == BoEventTypes.et_ITEM_PRESSED)
        if (evnt.BeforeAction)
          form = BusinessOne.Application.Forms.Item(formUID);
          mtx = (Matrix)form.Items.Item(ViewConstants.Items.MATRIX).Specific;
         int numRow = getSelectedRow(mtx);
         if (numRow != -1)
                                            mtx.DeleteRow(numRow);
                                            form.Mode = BoFormMode.fm_UPDATE_MODE;
                                       Item btn = (Item)form.Items.Item(ViewConstants.Items.ADDBUTTON);
                                       btn.Enabled = true;
    ==
    Cheers,
    Marcel Peek
    Alpha One
    Message was edited by: Marcel Peek
    Message was edited by: Marcel Peek

    Yes, there is a problem to delete the last row.
    It is fixed in version 2005.

  • How can i add a new row in System Matrix passing itemcode and quantaty

    Hi All,
    I have to add new lines in the matrix system only through the itemcode and item quantity. I tried several ways without success. Maybe the following code help to explain what I'm trying to do.
    Someone already inserted rows in the matrix system? Can someone show me how I can do. This example is in C# but if someone has in VB I will apreciate.
    FormUID = SBO_Application.Forms.ActiveForm.UniqueID;
                f = SBO_Application.Forms.Item(FormUID);
                try
                    SAPbobsCOM.Recordset oRS;
                    oRS = ((SAPbobsCOM.Recordset)oCompany.GetBusinessObje
    SAPbobsCOM.BoObjectTypes.BoRecordset));
                    oItem = f.Items.Item("38");
                    oMatrix = ((SAPbouiCOM.Matrix)(oItem.Specific));
                    oEditText = ((SAPbouiCOM.EditText)oMatrix.Columns.Item(3).Cells.Item(oMatrix.RowCount - 1).Specific);
                    string Codigo = oEditText.Value; //Select the item number to use in strQuery
                    strQuery = "SELECT U_ART_COM FROM [@SB1EVOL_COMPOSTOS] where
    U_ART_PRI='" + Codigo.ToString();
                     oRS.DoQuery(strQuery);
                    if (oRS.RecordCount > 0)
                        oRS.MoveFirst();
                        numart = oRS.RecordCount;
                        f.Freeze(true);
                        for (j = 1; j <= numart; j++)
                            try
                                ItemCodeTXT = oRS.Fields.Item(0).Value.ToString();
                                oEditText = ((SAPbouiCOM.EditText)(oMatrix.Columns.Item(3).Cells.Item(oMatrix.RowCount).Specific));
                                oEditText.Value = ItemCodeTXT.ToString();
                                f.Update();
                                oRS.MoveNext();
                            catch (Exception oEx)
                                f.Freeze(false);
                                f.Update();
                                MessageBox.Show(oEx.Message + " j = " + System.Convert.ToString(j));
                        j = 0;
                        f.Freeze(false);
                        f.Update();
    In this example i try to add rows in Invoice matrix.
    Thanks in advance.
    Edited by: Luís Filipe Duarte on Jun 26, 2009 4:14 PM
    Edited by: Luís Filipe Duarte on Jun 26, 2009 4:17 PM

    Viva Vitor,
    Antes de mais obrigado pela resposta.
    È esse mesmo o meu objectivo. Passo a explicar qual é o objectivo deste desenvolvimento. O que se pretende é que quando um utilizador escreva o código de um artigo numa linha da matrix de um documento de venda o add-on vai ler esse artigo e de seguida consultar uma tabela de utilizador que ja esta criada para validar se esse artigo tem outros artigos associados, e se tiver, entao o addon tem que os escrever nas linhas imediatamente a seguir. Eu queria mesmo, era escrever qual era o artigo e qual a respectiva quantidade. Eu consigo encontrar qual o artigo que o utlizador escreve e qual os artigos associados. O meu problema acontece quando tendo adicionar as novas linhas.
    Com o codigo que se segue podes ver que estou a atribuir a uma EditText o codigo do artigo a escrever. O problema é se correr em modo debug consigo ver que a aplicação chega a essa linha 
    oEditText.Value = ItemCodeTXT.ToString();
    e volta para trás, ou seja entra num loop e nao sai daqui.
    if (oRS.RecordCount > 0)
                        oRS.MoveFirst();
                        numart = oRS.RecordCount;
                        f.Freeze(true);
                        for (j = 1; j <= numart; j++)
                            try
                                ItemCodeTXT = oRS.Fields.Item(0).Value.ToString();
                                oEditText = ((SAPbouiCOM.EditText)(oMatrix.Columns.Item(3).Cells.Item(oMatrix.RowCount).Specific));
                                oEditText.Value = ItemCodeTXT.ToString();
                                f.Update();
                                oRS.MoveNext();
                            catch (Exception oEx)
                                f.Freeze(false);
                                f.Update();
                                MessageBox.Show(oEx.Message + " j = " + System.Convert.ToString(j));
    Eu para adicionar uma nova linha o que tenho de fazer? não vasta passar a informação do item code?
    Este desenvolvimento é para implementar ecoreee no sap. Nao sei já tiveste alguma coisa dessas entre mãos.
    Obrigado mais uma vez pela atenção. Espero também um dia poder ajudar.
    Com os melhores cumprimentos.
    Luis duarte

  • UDO: Add and Remove rows to/from Matrix.

    Hi all,
    Yes, I know there are lots of topics about adding and removing rows but I was having trouble with these and I need some expert's opinion.
    I'm working with a Document type UDO, with 1 header table (ADAT_ONR) and 1 child table (ADAT_NR1 -  MatrixUID = "mtx_NR").
    I add the first row when the user chooses the business partner.
    If oMatrix.RowCount = 0 Then
         oMatrix.AddRow()
          oMatrix.AutoResizeColumns()
         oMatrix.Columns.Item("V_LineId").Cells.Item(1).Specific.Value = 1
    End If
    Then, the user has to press the AddRow button to add new rows, and the user can only add 1 new blank row. Later I'll change the row adding behavior to mimic B1s.
                If pVal.BeforeAction = False Then
                    Select Case pVal.ItemUID
                        Case "AddRow"
                            'ItemHandler_Click = AddRow(oCompany, oApplication, oForm, oForm.Items.Item("mtx_NR").Specific.RowCount())
                            oMatrix = oForm.Items.Item("mtx_NR").Specific
                            If oMatrix.RowCount > 0 Then
                                If Trim(oMatrix.Columns.Item("V_PltCode").Cells.Item(oMatrix.RowCount).Specific.Value) = "" Then
                                    oApplication.StatusBar.SetText(TranslateStr(oApplication, MustChoosePallet), BoMessageTime.bmt_Short)
                                    Exit Function
                                End If
                            End If
                            ItemHandler_Click = NewLine(oCompany, oApplication, oForm)
                            Exit Function
        Private Function NewLine(ByRef oCompany As SAPbobsCOM.Company, ByRef oApplication As SAPbouiCOM.Application, _
            ByRef oForm As SAPbouiCOM.Form) As Boolean
            NewLine = False
            Try
                oMatrix = oForm.Items.Item("mtx_NR").Specific
                Dim Index As Integer = oMatrix.RowCount
                With oForm.DataSources.DBDataSources.Item("@ADAT_NR1")
                    .Clear()
                End With
                oMatrix.AddRow()
                oMatrix.Columns.Item("V_LineId").Cells.Item(Index + 1).Specific.Value = (Index + 1).ToString
                oMatrix.FlushToDataSource()
                oMatrix.LoadFromDataSource()
                oForm.Refresh()
                NewLine = True
            Catch ex As Exception
                oApplication.MessageBox("NewLine(): " & oCompany.GetLastErrorCode.ToString & ", " & ex.Message)
            End Try
        End Function
    When I Add or Update the data, I clear the last blank row, if it exists.
               '// In the Click Event
               If pVal.BeforeAction = True Then
                    Select Case pVal.ItemUID
                        Case "1"
                            If oForm.Mode <> BoFormMode.fm_FIND_MODE Then
                                oMatrix = oForm.Items.Item("mtx_NR").Specific
                                oMatrix.FlushToDataSource()
                                oMatrix.LoadFromDataSource()
                                If Trim(oMatrix.Columns.Item("V_PltCode").Cells.Item(oMatrix.RowCount).Specific.Value) = "" Then
                                    oForm.DataSources.DBDataSources.Item("@ADAT_NR1").RemoveRecord(oMatrix.RowCount - 1)
                                    oMatrix.DeleteRow(oMatrix.RowCount)
                                    'oMatrix.FlushToDataSource()
                                End If
                            End If
                    End Select
    My question is, Is there an easier way to Add and Delete Rows??
    BTW, I still have a problem so solve. With this code, when the user deletes a row the row numbering is incorrect. Example: if I have to rows in a matrix and I delete row nº1, row nº2 will hold the same number...
    Any Ideas?
    Thanks in advanced,
    Vítor Vieira

    Hi Victor,
    there is a Form Data event which you ca use in that try to write the code for adding a row after updating and delete a row while inserting and add a row while traversing.
    sample code.
    Sub FormDataEvent(ByRef BusinessObjectInfo As SAPbouiCOM.BusinessObjectInfo, ByRef BubbleEvent As Boolean)
            Try
                Select Case BusinessObjectInfo.EventType
                    Case SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD, SAPbouiCOM.BoEventTypes.et_FORM_DATA_UPDATE
                        If BusinessObjectInfo.BeforeAction = True Then
                            objForm = objMain.objApplication.Forms.Item(BusinessObjectInfo.FormUID)
                            oDBs_Head = objForm.DataSources.DBDataSources.Item("@Header")
                            oDBs_Detail= objForm.DataSources.DBDataSources.Item("@Line")
                            objMatrix = objForm.Items.Item("83").Specific
                            If objMatrix.VisualRowCount <> 0 Then
                                objMatrix.DeleteRow(objMatrix.VisualRowCount)
                                objMatrix.FlushToDataSource()
                            End If
                            If BusinessObjectInfo.EventType = SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD Then
                                End If
                        ElseIf BusinessObjectInfo.ActionSuccess = True Then
                            objForm = objMain.objApplication.Forms.Item(BusinessObjectInfo.FormUID)
                            If BusinessObjectInfo.EventType =                    SAPbouiCOM.BoEventTypes.et_FORM_DATA_UPDATE Then
                                objMatrix = objForm.Items.Item("83").Specific
                                objMatrix.AddRow()
                                SetNewLineCharge(objForm.UniqueID, objMatrix.VisualRowCount)
                                objMatrix.FlushToDataSource()
                              End If
                        End If
                    Case SAPbouiCOM.BoEventTypes.et_FORM_DATA_LOAD
                        If BusinessObjectInfo.ActionSuccess = True Then
                            oDBs_Head = objForm.DataSources.DBDataSources.Item("@Header")
                           oDBs_Detail = objForm.DataSources.DBDataSources.Item("@Line")
                            objMatrix = objForm.Items.Item("83").Specific
                            objMatrix.AddRow()
                            SetNewLineCharge(objForm.UniqueID, objMatrix.VisualRowCount)
                            objMatrix.FlushToDataSource()
                           End If
                End Select
                End Sub
    Hope this helps,
    OM Prakash

  • Highlight row in standard report based on value in column...

    I am trying to highlight rows of a standard report based on the value of the column TICKET_TYPE.
    I have been following the post: Highlighting a ROw in a tablular form based on a column in the row
    but having difficulty. I receive the following error:
    ORA-06550: line 1, column 34: PLS-00201: identifier 'SHRIMP' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored
    ERR-1025 Error processing PLSQL expression. SHRIMP = 'SHRIMP'
    My report query is:
    select T.TRIP_ID,
    T.TRIP_ID trip_show,
    T.TRIP_ID trip_select,
    T.DAYS_AT_SEA,
    T.NBR_OF_CREW,
    T.TRIP_START_DATE,
    T.VESSEL_ID,
    o.ticket_type ticket_type
    from TRIPS T, one_ticket_type o
    where t.dea_permit_id = :G_DEA_PERMIT_ID and t.trip_id = o.trip_id
    I have created a new template called one-ticket-highlight.
    row tempate 1 = <td #ALIGNMENT# headers="#COLUMN_HEADER#" class="t14data" style="background:red">#COLUMN_VALUE#</td>
    row template 1 condition = use based on pl/sql expression
    row template 1 expression = #TICKET_TYPE# = 'SHRIMP' (**** I have also tried without the quote)
    any thoughts? thanks!!
    Edited by: KEH813 on May 25, 2010 11:10 AM

    Hi,
    You can achive the same using javascript without changing the page template.
    http://apex.oracle.com/pls/apex/f?p=27576:8
    here is the code for the same
    <style>
    .myclass{ background-color:red;text-align:center}
    </style>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js "></script>
    <script>
    $(function(){
       $("td [headers='DEPTNO']").each( function(i){
           if($(this).html() == $v('P8_DEPTNO'))  //value of the textfield
               ele = $("td [headers='ENAME']").eq(i)
               ele.removeClass('t20data');   //i'm using theme 20 so t20data .. u need to change this part
               ele.addClass('myclass');
    </script>Regards,
    Shijesh

  • Highlight Rows/Fields in Inetractive Report

    What is the best way to conditionally highlight rows/field in an Interactive Report? I don't want to create filters that the users can see/turn off

    Hello Bob,
    Before you have to think about what happens (or should happen) if a user creates his own highlighting. That will interfere with the highlighting you created....
    But you can set highlighting for a field in the select statement:
    select      "DEMO_ORDER_ITEMS"."ORDER_ITEM_ID" as "ORDER_ITEM_ID",
          "DEMO_ORDER_ITEMS"."ORDER_ID" as "ORDER_ID",
          "DEMO_ORDER_ITEMS"."PRODUCT_ID" as "PRODUCT_ID",
          CASE
             WHEN UNIT_PRICE < 200 THEN
             '<span style="display:block;width:30px;background-color:red;color:darkgreen;">'
             || unit_price
             || '</span>'
             ELSE to_char(unit_price)
             END UNIT_PRICE,
          "DEMO_ORDER_ITEMS"."QUANTITY" as "QUANTITY"
    from      "DEMO_ORDER_ITEMS" "DEMO_ORDER_ITEMS"But remember that the outcome of your query now changed. If you sort upon UNIT_PRICE the <span> tag also is taken into consideration.
    Greetings,
    Roel
    http://roelhartman.blogspot.com/
    You can reward this reply by marking it as either Helpful or Correct ;-)

  • IR highlight row error

    Hi,
    I have two columns in IR
    - Amount to be paid
    - Paid amount
    I would like to highlight rows that have remain amount =0
    so I created a Compute column Name Remain Amount = Amount to be paid - Paid amount
    and created highlight condition where Remain Amount = 0
    but I catched the error when apply the condition
    ORA-20001: get_dbms_sql_cursor error ORA-00904: "Remain Amount null(null)": invalid identifier
    Please help me out.
    Thanks

    Hi,
    Is it possible that one or more of your records doesn't have a value in one/both of the fields? Try using NVL(columnname, 0) to ensure that any nulls are converted to 0 (zero)
    Andy

  • Re:Adding a row in a matrix using Lost_Focus event & deleting a row

    Dear All,
    Iam facing a problem in adding a row in a matrix using last focus event.its like if i keep the cusor in the last coloumn in a matrix n if i press tab it should add a row .the row is getting added the problem here is the cursor is gng to first row but it should come to the second row.
    the second problem is while deleting a row the row is getting deleted but the row count is showing the deleted row no.
    pls suggest a solution for these problems.
    Thanks & Regards
    Anand

    Hi,
    If pVal.BeforeAction = False Then
                Select Case pVal.EventType
                    Case SAPbouiCOM.BoEventTypes.et_KEY_DOWN
                        If pVal.ItemUID = "matlab" And pVal.ColUID = "mtimeout" And pVal.CharPressed = 9 Then
                            oMatrix = oForm.Items.Item("matlab").Specific
                            Dim rc As Integer = oMatrix.VisualRowCount
                            If rc = pVal.Row Then
                                addrow()    'funtion for adding row
                                oMatrix.Columns.Item("labc").Cells.Item(oMatrix.RowCount).Click()
                                'SBO_Application.MessageBox(oMatrix.RowCount)
                            End If
                        End If
    This is the function i hav used
    Private Sub addrow()
            Try
                If (oForm.UniqueID = "updt") Then
                    oForm = SBO_Application.Forms.ActiveForm
                    oForm = SBO_Application.Forms.Item("updt")
                    omatrix = oForm.Items.Item("matlab").Specific
                    omatrix.AddRow(1, omatrix.VisualRowCount)
                    Dim rc As Integer = omatrix.VisualRowCount
                    'SBO_Application.MessageBox(rc)
                    otext1 = omatrix.Columns.Item("mdatein").Cells.Item(rc).Specific
                    otext1.String = "s" 'RecSet.Fields.Item("date1").Value
                    otext1 = omatrix.Columns.Item("mdateout").Cells.Item(rc).Specific
                    otext1.String = "s" 'RecSet.Fields.Item("date1").Value
                    End If
            Catch ex As Exception
                SBO_Application.MessageBox(ex.Message)
            End Try
        End Sub
    this is the code which m using
    Regards,
    Anand

  • At Runtime how to select a row in a matrix ?

    Hi friends,
                 I have designed a form with matrix.That matrix is populted with multiple rows.
                 <b> I want to select a row in  that matrix  </b> and i want to get the line data an put into another form
                 Is there is any event handling is there?
                   If i <b>doubleclick</b> on that row that's <b>data has to displayed</b> (eg using message box )
                   If i <b>single click</b> on that row That <b>row has to be selected</b>.
    <b></b>
             Can anybody help me
    Thanks
    V.Rangarajan

    Hi Ranga!
    try to catch the clicks in the ItemEvent of your Application!
    here some code..
    "Matrix1" is the UID of your Matrix!
    If pVal.ItemUID = "Matrix1" And pVal.Row > "-1" And _
    pVal.Before_Action = False And pVal.EventType = _ SAPbouiCOM.BoEventTypes.et_CLICK Then
    oMatrix.SelectRow(pVal.Row, True, False)
    Elseif pVal.ItemUID = "Matrix1" And pVal.Row > "-1" And _
    pVal.Before_Action = False And pVal.EventType = _ SAPbouiCOM.BoEventTypes.et_DOUBLE_CLICK Then
    SBO_Application.MessageBox(oMatrix.Columns.Item(pVal.ColUID).Cells.Item(pVal.Row).Specific())
    End If
    haven't try this yet..but may it works!
    have a try!
    greetz
    Matthias

  • Highlight row

    all,
    i'm using the "Background color for current row" property in the report template to define the background color of rows when the mouse is over it. is there a way to define the color of the font for the highlighted row also?
    thanks in advance,
    paul

    See the same example
    http://htmldb.oracle.com/pls/otn/f?p=24317:111
    Modifiying the FG color is not a builtin feature, but you can piggyback on the code generated by the background color feature.
    Add the following to the region footer to override the generated code
    <script type="text/javascript">
    var rowStyleHoverFG = new Array(15);
    function row_mouse_over404667826284618949(rowNode,currentRowNum) {
                    rowActive = 'Y';
                    for( var j = 0; j < rowNode.childNodes.length; j++ ) {
                        if (rowNode.childNodes[j].tagName=='TD') {               
                            rowStyleHover[currentRowNum] = rowNode.childNodes[j].style.backgroundColor;
                            rowStyleHoverFG[currentRowNum] = rowNode.childNodes[j].style.color;
                            rowNode.childNodes[j].style.backgroundColor = '#ffffc1';
                            rowNode.childNodes[j].style.color = 'green';
                function row_mouse_out404667826284618949(rowNode,currentRowNum) {
                    rowActive = 'N';
                    for( var j = 0; j < rowNode.childNodes.length; j++ ) {
                        if (rowNode.childNodes[j].tagName=='TD') {               
                            rowNode.childNodes[j].style.backgroundColor = rowStyleHover[currentRowNum];
                            rowNode.childNodes[j].style.color = rowStyleHoverFG[currentRowNum];
    </script>Change the green color to anything you want.
    Hopefully this becomes a standard feature in the next release so we wont have to hack into it like this.
    Hope this helps.

Maybe you are looking for

  • Change number of record displayed for a single item alone

    Hi, I have a single data block with few items. Is it possible to make one item in the block as non-database item and make the display of record in the item alone to show multiple lines. i.e. All other items in the Data block shows single record, wher

  • Application Help

    Hi guys, I need help for an appilcation we have here at work. We have a stepmotor (HT23-398D-ZAA) that include a 2000cpr encoder with STR4 drive and a PCI-7334 controller board. We had a UMI-7774 but we broke it and we dont have time/money to invest

  • Start and Stop Apache

    Hi All, We are using Oracle Apps 11i, Can someone tell me how to start and stop Apache, I mean what are the commands. Thanks J

  • Not able to add or edit contacts (i OS 5)

    Since updating to iOS 5, I'm not able to add or edit contacts.  The plus and edit buttons are no longer visible?!  Anyone else having this issue? 

  • Quantity Box not working

    When I check the part -> details -> "quantity box" for a product line master part, it does not work correctly when I add to cart.  I just get qty of 1 instead of the qty I put in.  It works fine with non-product line master parts.  It this supposed t