on 07-18-2005 11:58 AM
Hi,
We are trying to add a linked button to a matrix.
First of all we tried to add it by xml, but we haven't had luck. this is the xml piece of code:
<column AffectsFormMode="1" backcolor="-1" description="" disp_desc="0" editable="0" font_size="12" forecolor="-1" right_just="0" text_style="0" title="Artículo" type="16" uid="art" val_off="" val_on="" visible="1" width="70">
<databind alias="art" databound="1" table=""></databind>
<ExtendedObject linkedObject="4"></ExtendedObject>
</column>
We have a datasource binded to this item and it works well, but the arrow doesn't appear.
The other option we tryed is to add it by code, but by now we haven't been able to add it in the correct place. We have only been able to show it in the last position of the matrix.
We have tried to assign an existing column to a column created by us and then link the linked button to it, but it doesn't work.
This is the code that adds the column in the last position (it works):
Dim formPedido As SAPbouiCOM.Form
Dim docxml As New XmlDocument
Dim uid As String
docxml.Load("pedido.xml")
Dim str As String = docxml.InnerXml
newformuid(uid, Aplicacion)
docxml.SelectSingleNode("Application/forms/action/form/@uid").Value = uid
Dim ParametrosCreacion As SAPbouiCOM.FormCreationParams = Aplicacion.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)
ParametrosCreacion.XmlData = docxml.InnerXml
ParametrosCreacion.FormType = "Pedido"
ParametrosCreacion.BorderStyle = SAPbouiCOM.BoFormBorderStyle.fbs_Fixed
ParametrosCreacion.UniqueID = uid
formPedido = Aplicacion.Forms.AddEx(ParametrosCreacion)
Dim matriz As SAPbouiCOM.Matrix
Dim flecha As SAPbouiCOM.LinkedButton
matriz = formPedido.Items.Item("lstoferta").Specific
Dim columna As SAPbouiCOM.Column
columna = matriz.Columns.Add("flecha", SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON)
columna.Width = 50
columna.Editable = False
flecha = columna.ExtendedObject
columna.TitleObject.Caption = "Flecha"
flecha.LinkedObject = SAPbouiCOM.BoLinkedObject.lf_Items
With Aplicacion.Forms.ActiveForm.DataSources.UserDataSources
Dim UDSchk As SAPbouiCOM.UserDataSource = .Add("chk", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
Dim UDSarticulo As SAPbouiCOM.UserDataSource = .Add("art", SAPbouiCOM.BoDataType.dt_SHORT_TEXT, 20)
Dim UDSctdPedido As SAPbouiCOM.UserDataSource = .Add("ped", SAPbouiCOM.BoDataType.dt_LONG_NUMBER)
End With
matriz = Aplicacion.Forms.ActiveForm.Items.Item("lstoferta").Specific
matriz.Columns.Item("chk").DataBind.SetBound(True, "", "chk")
matriz.Columns.Item("art").DataBind.SetBound(True, "", "art")
matriz.Columns.Item("pedido").DataBind.SetBound(True, "", "pedido")
How can we do it with XML?
Message was edited by: Martin Garmendia
Hi Martin,
What I do when I want to add a linked column for example a Business Partner is this.
1. Create the XML code for the Screen in Screen painter. (note the column name that you want to link)
2. Access the XML using notepad
3. Set the Column type to 116 -> This is the linked button type. The XML snippet for the column looks like this : title="Rented To" type="116" uid="Col7" val_off=""........
4. Link the datasource through code as normal to the column - query the datasource and load it to the matrix.
This should display the linked column objects
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
99 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.