Screen Painter - Matrix CellHeight & TitleHeight

Hi,
In Screen Painter the Matrix CellHeight & TitleHeight change all the time when I open the Form in Screen Painter. It works when I run the Form, but when I change the Form I always have to change the CellHeight & TitleHeight before I close the fom...puh
Any suggestion?
Thank you,
Rune

Hai Rune,
          U r change the .srf file to .xml na. So i can able to modify the xml file. I also have the same issue. But i change in xml so its working fine.
Here is the code
<item uid="m_Dbond" type="127" left="15" tab_order="0" width="526" top="78" height="228" visible="1" enabled="1" from_pane="0" to_pane="0" disp_desc="0" right_just="0" description="" linkto="" forecolor="-1" backcolor="0" text_style="0" font_size="-1" supp_zeros="0" AffectsFormMode="1">
              <AutoManagedAttribute />
               <specific SelectionMode="0" layout="0" titleHeight="21" cellHeight="17">
                 <columns>
                   <action type="add">
                     <column uid="v" type="16" title="#" description="" visible="1" AffectsFormMode="1" width="20" disp_desc="0" editable="1" right_just="0" val_on="Y" val_off="N" backcolor="-1" forecolor="-1" text_style="0" font_size="-1">
                      <databind databound="1" table="@DBOND_DETAIL" alias="LineId" />
                      <ExtendedObject />
                    </column>
Regards,
Anitha

Similar Messages

  • Screen painter, matrix and DataBound problem...

    Hi
    Using SAP BO 6.7 I have made a form with a matrix.
    I have a usertable named @t_fingrp with a field named U_Nr.
    In the matrix-->Columns properties I set Databound to "true", set tablename to "@t_fingrp" and set the alias to "U_Nr".
    I then save the form as xml.
    Then I load it in code using something like this:
    XmlDocument XMLDoc1 = new XmlDocument();
    XMLDoc1.Load(sXMLFile);
    xml = XMLDoc1.InnerXml;
    SBO_Application.LoadBatchActions(ref xmlString);
    This will make the form appear in SAP BO with the matrix and the columns but NO data.
    What am I doing wrong??
    TIA
    Jan

    The data doesn't appear automatically when you bind a matrix to a data source.  You have to populate the data source from the database, and then add each row to the matrix manually.
    Below is a sample, hope it helps.
        'Populate the datasource
        Set sboDS = sboForm.DataSources.DBDataSources("OUSR")
        sboDS.Query
        'Add data to the matrix
        For lngCount = 0 To sboDS.Size - 1
            sboDS.Offset = lngCount
            sboMatrix.AddRow
        Next lngCount
    John.

  • Where are the Matrix CellHeight and TitleHeight properties ?

    How come these aren't available in code ?
    I need to manipulate these by code but they aren't available!  Anyone knows any workaround?

    I can se you can do it in the screen-painter (never use it so didn't know that)... Strange I can't really see why you can and should do it... Never come across any matrix in the system that does this... Where would it be usefull to do?
    If you really want to use it you can use the xml to do it... in here the properties titleHeight="xx" and cellHeight="xx" on the matrix specific handle it... Perhaps they were include as some part of the feature to change the font-size....

  • Matrix column position problem in screen painter.

    hi.
    i am facing one problem.
    ie.
    i am developing one screen.
    it is having 3 matrix
    each matrix is having some columns
    one matrix ok two matrix ok thrid  matrix ok.
    but
    under third matrix i put some columnes
    1, 2 ,3, 4,
    in screen painter design mode every thing is ok
    it is appearing like 1,2,3,4
    but at preview mode or through the code if i open
    it is  appearing like 1, 4,3,2
    in preview mode screen painter if i click on the form settings it is showing only..
    matrix one columns only  it is not showing either 2 or 3
    and if i open the form through the code..
    i am able to see the columns of matrix 1 n matrix 2 and matrix 3
    i am using some code.
    If (pVal.FormUID = "WIP2PROCESS" And pVal.ItemUID = "1000007") Then
                                oForm = SBO_Application.Forms.Item("WIP2PROCESS")
                                oForm.PaneLevel = 2
                                oForm.Settings.Enabled = False
                                oForm.Settings.MatrixUID = "59"
                            End If
    now through the source code i am able to see the each column under matrix.
    but if  i change the matrix position at form setting it is changing but
    if i click other folder and come back to previous  folder..
    again the column position is   1, 4,3,2
    previously i changed to  1,2,3,4
    how can i do it..
    screen painter can i change it..
    Any information plz update me..

    Hi Srinivas,
    Can you do one thing for me ? Open your form in screen painter, set the columns as you want to display. Now change the unique id for the matrix. Then try to open it through code or see in preview mode.
    Hope it helps.
    Thanks & Regards
    Ankit Chauhan

  • Screen Painter and Matrix

    In screen painter I am unable to attach the folder with the respective matrix. Please give the complete method to attach the above mentioned.

    Hi Manish,
    I am not too sure what you want to know, but if you want a matrix to be displayed only on a specific folder you should do the following. I am going to show you the code, but you can do parts of it in screenpainter as well. In screen painter you cannot display it like you would at runtime.
    On your matrix you would set the PaneFrom and PaneTo properties. To only set it visible on the first folder:
            Dim oItem As SAPbouiCOM.Item
            Dim oForm As SAPbouiCOM.Form
            oForm = oApplication.Forms.ActiveForm
            oItem = oForm.Items.Item("My_Matrix")
            oItem.FromPane = 1
            oItem.ToPane = 1
    To add the folder you'll have to remember to set the ValOn and ValOff properties:
            Dim oFolder As SAPbouiCOM.Folder
            oFolder = oForm.Items.Item("My_Folder").Specific
            oFolder.Caption = "MyFolder"
            oFolder.DataBind.SetBound(True, "", "UDS_1")
            oFolder.ValOff = 0
            oFolder.ValOn = 1
    To invoke the folder's click event you have to code it manually:
    Private Sub SBO_Application_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles oApplication.ItemEvent
            If pVal.FormTypeEx = "My_Form" Then
                If pVal.BeforeAction = True Then
                    If pVal.ItemUID = "My_Folder" Then
                        If pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED Then
                            Dim oForm As SAPbouiCOM.Form
                            oForm = oApplication.Forms.ActiveForm
                            oForm.PaneLevel = 1
                        End If
                    End If
                End If
            End If
        End Sub
    Hope it helps,
    Adele

  • Screen Painter - Delete a Matrix Column

    Hi,
    I am trying out Screen Painter. Really nice tool…!!!
    I added 1 column to much in my Matrix, how do I delete the column?
    And how does the Swap button work? (Swap = To trade one thing for another.)
    Thank you,
    Rune

    Rune,
    I don't know if there's an easier way, but I open the XML code (the srf file), find the begining and end of the specific column info and remove it. then Save and the column is gone. You can do this in notepad or any editor. You just have to be careful to remove only the right code, but it's all together in one long section.
    Of course make a backup of the srf file first Hope this helps.

  • Add linkbutton to Matrix (Screen Painter)

    Hi All,
    I want to add a link button in a matrix but no success (The form has been developed in Screen Painter).
    Any Idea?
    Best Regards,
    Vangelis
    Edited by: Vangelis Kanellopoulos on Dec 31, 2009 10:48 AM

    Hello ,
    You can have a look a this thread Re: Screen Painter.  How to...
    this is a way to do it a second way is to specify in screen painter  the properties of your colum
    -Type = linkedobject
    -LinkedobjectType = 20
    linked object type takes the BoObjectTypes Enumeration search for it in the sdk
    It will give you something like this in your xml file
    <column uid="C17" type="116" title="Provision Num" description="" visible="1" AffectsFormMode="1" width="102" disp_desc="0" editable="0" right_just="0" val_on="Y" val_off="N" backcolor="-1" forecolor="-1" text_style="0" font_size="-1">
    <databind databound="1" table="" alias="DSProvNum"/>
    <ExtendedObject linkedObject="30" LinkedObjectType="30"/>
    </column>
    BR
    Abderrahim BOUKHRIS

  • Big problems with Matrix and Screen Painter

    Hi all !!!
    I have a terrible time with my matrix in screen painter. I looked over all the samples in SDK and tried different things. The closest i got to make it work is when my form loads, i can click in each on my cells on the first row of the matrix but when i enter data if i click on another cell i lose the data. My form is fairly simple. I got 4 fields as regular data and a matrix with 8 columns. Can someone help me with this !!!  Maybe one of you have an complete example for entering manually data in cells and then save it. I'm using a UDT (not UDO) table and using .net ...
    Thanks in advance

    Hi Alain
    It's not necaserry to delete the matrix. Leave it there. Then access your matrix with the following code
    Dim oMatrix As SAPbouiCOM.Matrix
    Dim oColumn As SAPbouiCOM.Column
    Dim oColumns As SAPbouiCOM.Columns
    oMatrix = SBO_Application.Forms.Item("FormID").Items.Item("MatrixID").Specific
    oColumns = oMatrix.Columns
    oMatrix.Clear()
    then create datasource and bind
    oForm.DataSources.UserDataSources.Add("DataID", SAPbouiCOM.BoDataType.dt_SHORT_TEXT, 20)
    oColumn = oColumns.Item("ColID")
    oColumn.DataBind.SetBound(True, "", "DataID")
    Hope this helps

  • Cannot load XML file in Screen Painter in SAPB1

    Hi All,
    i am creating an xml file of existing purchase order through the following code
    Public Sub getxml(ByVal FormUID As String)
            Dim f As SAPbouiCOM.Form
            f = sbo_application.Forms.Item(FormUID)
            Dim oXmlDoc As Xml.XmlDocument
            Dim sXmlString As String
            oXmlDoc = New Xml.XmlDocument
            '// get the form as an XML string
            sXmlString = f.GetAsXML
            oXmlDoc.LoadXml(sXmlString)
            Dim sPath As String
            sPath = IO.Directory.GetParent(Application.StartupPath).ToString
            oXmlDoc.Save((sPath & "\ChangedXml.xml"))
        End Sub
    i am calling this function getxml in pageload of this form as
    Private Sub B1_Application_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles sbo_application.ItemEvent
            If pVal.FormType = "142" And pVal.BeforeAction = False Then
                Dim oItem As SAPbouiCOM.Item
                Dim oFolder As SAPbouiCOM.Folder
                Dim oform As SAPbouiCOM.Form
                Dim oStaticText As SAPbouiCOM.Button
                Dim oEditText As SAPbouiCOM.EditText
                Select Case pVal.EventType
                    Case SAPbouiCOM.BoEventTypes.et_FORM_LOAD
                        getxml(FormUID)
                End Select
            End If
    End Sub
    it will create the xml file ChangedXml.xml in the destination folder, then i will copy that one and paste it and change the extension to .srf.
    then i will open screen painter and try to acceess this one it will open the form but it will give an error as Error: Menu - Image Type Not Supported
    it will open the screen but it won't open the matrix, the space which consists of matrix in the original form will come as blank.
    Please any one help me, it's urjent.
    Thanks,
    Vaithy
    09886807576

    Hi Vaithy,
    Not all the items you have in B1 forms are supported by the UI API and/or the ScreenPainter.
    If you need to reproduce a B1 system form you will have to remove all items giving you an error in the ScreenPainter and then have a reduced form.
    Why do you need the xml of the Purchase Order form? Please take care if you are trying to reproduce the behavior of the Purchase Order form, there can be some Formatted Searches or other customizations in the B1 form if you are using other addons.
    Hope it helps
    Trinidad.

  • Column order in screen painter

    Hello all,
    After creating a form in screen painter the column are not showing in the order they are shown in screen painter.
    I checked the .srf file and the order of the columns is correct, but when SAP B1 opens the form the matrix has the order of the columns all mixed up.
    Any ideias?
    Thanks in advance.

    Hi,
    Your question belongs to SDK forum.  You may search that forum first.  If there is no similar question with answer, post it there.
    Thanks,
    Gordon

  • Grid in screen painter

    Hi Dear;
    where can i find explanation about the screen painter and specially for the grid, columns and matrix
    regards;

    Hi Satish;
    i want a document that explain screen painter in deep and not like SDK.
    where can i find these docs?
    regards

  • Screen Painter how to, manual or flash book

    Is there a screen painter manual, how to or flash book?
    I started using it but the help is to simple, for now I want to create a form that will ask for an inventory code and bring in description and barcode field.  Then the last field will ask for a quantity, that I will read with my add on to print barcode labels.
    Regards,
    William Burgos

    Hi William Burgos
    Screen painter is very basic. It only creates a screen. So all you do is make a new form, drop things on it like a text box, combo box, matrix and so on. But screen painter itself has no logic and you can't set it to do certain actions.
    Screen painter only creates the form. Then you through code must load the form that screen painter created, this form is actually a XML form. Through code you must also apply all the logic.
    Hope this helps

  • Screen Painter  / MatrixLayout ..

    Hi,
    I copied the BusinessPartner form which contains a folder with a matrix that uses layout 'mlt_VerticalStaticTitle' ..
    Now I want to add another matrix to a separate folder in the same screen but it wont let me set the layout to 'mlt_VerticalStaticTitle' !!   Anyone any ideas ? I tried copying the one which works but screen wont let me  ..
    Seems very strange to me  ..  Anyone any idea ?
    Also can someone tell me what the form keyword 'GridItemUID' means - I looked in the manual but can't find anything ..

    Hi
    I am using SDK sample Catching Events to have xml of the forms for example.
    You want to have Master with 2 Details (matrix).
    - Create an MASTER_DATA table TableA.
    - Create 2 MASTER_DATA_ROWS tables TableB, TableC.
    - Create UDO, for example with title MyUDO, with TableA with choosing between services "Create default form" and 2 child: TableB, TableC.
    Execute CatchingEvents project (with SaveXML(oForm) method on et_FORM_LOAD event) and open form of UDO.
    So you have an example of Master and 2 Details (matrix) in 2 Folders.
    For "mlt_VerticalStaticTitle" I can said only what this is a MatrixLayout.
    In Screen Painter I found what you have for MatrixLayout 3 options: None, Vertical, VerticalStaticTitle. 2° and 3°: they can be a profit when one wants to have the tributes, the bands of the dresses. Sorry my english.
    Try
    Best Regards
    Sierdna S.
    P.S. Example of CatchingEvents project
    Private Sub SBO_Application_ItemEvent(ByVal FormUID As String, _
    ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean _
    ) Handles SBO_Application.ItemEvent
      If pVal.FormType != 0 Then '
        Dim EventEnum As SAPbouiCOM.BoEventTypes
        EventEnum = pVal.EventType
        If (EventEnum <> SAPbouiCOM.BoEventTypes.et_FORM_ACTIVATE) _
        And (EventEnum <> SAPbouiCOM.BoEventTypes.et_FORM_LOAD) _
        Then
          Dim oForm As SAPbouiCOM.Form
          oForm = SBO_Application.Forms.ActiveForm
          If oForm.Title.Equals("MyUDO") Then
            SaveAsXML(oForm)
          End If
        End If
      End If
    End Sub
    Private Sub SaveAsXML(ByRef oForm As SAPbouiCOM.Form)
      Dim oXmlDoc As Xml.XmlDocument
      Dim sXmlString As String
      oXmlDoc = New Xml.XmlDocument
      '// get the form as an XML string
      sXmlString = oForm.GetAsXML
      '// load the form's XML string to the
      '// XML document object
      oXmlDoc.LoadXml(sXmlString)
      Dim sPath As String
      sPath = IO.Directory.GetParent(Application.StartupPath).ToString
      '// save the XML Document
      oXmlDoc.Save((sPath & "" & oForm.Title.Replace(" ", "") & "_" & oForm.UniqueID & ".xml"))
    End Sub
    Edited by: Sierdna S on Jul 8, 2008 6:01 PM

  • Selecting Cell from Choosefromlist - Screen Painter

    Hi ...
    I've used screen painter for my form. In the preview mode, everything seems to be ok, I have my column matrix editable with choosefromlist. But when I run the add-on, I can't even select a cell. I've also tried creating the matrix through coding but still, I can't select a cell. Anyone knows what could be the problem?
    Thanks!
    Loren

    Hi Loren Flores,
    Actually you are not adding the row to your matrix, thats why you are not able to select a cell.
    Add the row to your matrix on Form Load event.
    and also on the lost focus of the column, add a new row in next line.
    on form Load---
    oMatrix.AddRow(1, 1);
    on lost focus--
    if (pVal.ItemUID == "Mtrx" && pVal.ColUID == "COL1")
                        if (pVal.Row >= oMatrix.RowCount)
                            if (pVal.Row == 1)
                                oEditText = (SAPbouiCOM.EditText)oMatrix.Columns.Item("COL1").Cells.Item(pVal.Row).Specific;
                                string sr = oEditText.String;
                                if (oEditText.String != "")
                                    oMatrix.AddRow(1, oMatrix.RowCount);
                                if (oMatrix.RowCount > 2)
                                    return;
                            else
                                oEditText = (SAPbouiCOM.EditText)oMatrix.Columns.Item("COL1").Cells.Item(pVal.Row).Specific;
                                string sr = oEditText.String;
                                if (oEditText.String != "")
                                    oMatrix.AddRow(1, pVal.Row);

  • Screen Painter.  How to...

    How to use the Matrix with a complex query and beeing able to make some columns with a LinkButton to the document.
    Which control should I use.  A Matrix, or a Grid
    Which one let me get Data from a complex query and by the same time beeing able to set some columns as Link to a document
    To date I've been able to use the DBDataSource.Add("BUT IT NEEDS A TABLE") not a query and I face the challenge
    of adding all the conditions with the dbDataSource.Query(CONDITIONS) which doesn't work since I have to get
    data from other tables....

    Awesome.  Thank you. 
    Just a last question.  When I set the Query in the Screen Painter. Why do I have to provide it again by code ?
    I did create the Data Table in Screen Painter and called it dtORDR but in code
    but I have to do a ExecuteQuery and provide the query again ?
    Since I get it the way you explained, why do I have to ExecuteQuery with the same query again ?
    I also get a Table not found when running
    MyDataTable is called dtORDR made in the ScreenPainter with a simple SELECT
    and by code I do like you said, and the binding are on dtORDR but I get "Table not found..."
    Here's my actual code :
    string Query = "SELECT ORDR.DocEntry AS OrderEntry, ORDR.DocNum AS OrderNum, ORDR.NumAtCard, ORDR.DocDueDate, ORDR.DocTotal, " +
                   "ORDR.CardCode AS CustomerCode, ORDR.CardName AS CustomerName, OCRD.FatherCard, OCRD.CreditLine " +
                   "FROM ORDR INNER JOIN " +
                   "OCRD ON ORDR.CardCode = OCRD.CardCode";
    oApprobationsMatrix = oForm.Items.Item("mOrders").Specific as SAPbouiCOM.Matrix;
    SAPbouiCOM.DataTable DBDataTable = oForm.DataSources.DataTables.Item("dtORDR");
    DBDataTable.ExecuteQuery(Query);
    // Settings the columns...
    oApprobationsMatrix.Columns.Item("Indicator").Width = 20;
    oApprobationsMatrix.Columns.Item("cDocNum").DataBind.SetBound(true, "dtORDR", "OrderNum");
    oApprobationsMatrix.Columns.Item("cDocNum").Editable = false;
    oApprobationsMatrix.Columns.Item("cDocNum").Width = 107;
    oApprobationsMatrix.Columns.Item("cDocEntry").DataBind.SetBound(true, "dtORDR", "OrderEntry");
    oApprobationsMatrix.Columns.Item("cDocEntry").Visible = false;
    I also tried to remove the table from the Screen Painter and use the code instead like this
    oApprobationsMatrix = oForm.Items.Item("mOrders").Specific as SAPbouiCOM.Matrix;
    SAPbouiCOM.DataTable DBDataTable = oForm.DataSources.DataTables.Add("dtORDR");
    DBDataTable.ExecuteQuery(Query);
    and I stiil get "Table Not Found"
    but the table seems to be there all right. 
    [See this image...|http://pages.videotron.com/gear/problem.jpg]

Maybe you are looking for

  • No access on podcast share from Windows clients

    Hello together! I have the following scenatio at home: * 1 Server with Windows 2008 R2 with logged in user and iTunes running (everything is shared) * 1 Laptop with Windows 7 x64 & iTunes * 1 Desktop with Windows 7 x86 & iTunes * 1 Macbook with Mac O

  • Regarding precalculated report with authorization

    I created a web report which contains all the country data, the query having authorization variable, after precaluclation I tried to see the report using a user who is restricted by country level, it saying “no authorization” but if I access through

  • Nexus1000v : ip access-list with port range

    Hi, I am configuring ip access-list policy with port range on Nexus1000v. I want to block traffic of a VM based on specific port or port range. Following is the example showing, blocking of rdp service (port - 3389) of vm x.x.x.x. But the scipt block

  • CCM TREX indexing error

    To CCM gurus, Once in a while, I'd get indexing errors while trying to publish a procurement catalog. The errors would say something like: 1. Error when deleting TREX metadata for catalog ABC... 2. Error when creating the index for catalog XYZ... 3.

  • Canon Powershot SX510hs Noise Issues

    Hi everybody. New to the forums. Bought a Powershot SX510hs in July of 2014. I mainly use it for action shots and videos for short films or my brother playing golf. For a while the pictures and videos came out amazing with bright colors and good clea