on 10-20-2008 4:11 PM
Hello to all, I need to relate a combobox to another table. The code that I have is the following one. Thank you very much
<item AffectsFormMode="1" " type="113"...
<AutoManagedAttribute />
<specific AffectsFormMode="1" TabOrder="0">
<ValidValues>
<action type="add"/>
</ValidValues>
<databind alias="U_TGV_FIIBB_CODE" databound="0" table="@TGV_TIIBB_CODES_BP" />
</specific>
</item>
<item AffectsFormMode="1" type="8"...
<specific caption="Codigo de IIBB" />
</item>
Hi
Here is an example of combo.
<column uid="eUMyField" type="113" title="My Combo Field" description="My Combo Field"
visible="1" AffectsFormMode="1" width="8" disp_desc="1" editable="1"
right_just="0" val_on="" val_off="" backcolor="-1" forecolor="-1"
text_style="0" font_size="-1">
<databind databound="1" table="@USER_TABLE" alias="U_MyField"></databind>
<ExtendedObject></ExtendedObject>
</column>
To load data into combo from some table on database you need to initilize combo box when you load your form.
Here 2 examples:
- 1) into combo cType we load data from table .
- 2) into comto cTypeSog we load predefined data.
In the 1) example: your need to do for ... next.
In the 2) example: you can also do this using xml (look example posted before).
3° case: also you can load data into combobox field when you have UDF with defined ValidValues.
In this case you need to said in your code what field is of type combobox (113) and binded to table attribute with ValidValues.
Private Sub LoadMyComboBoxes(ByRef oForm As SAPbouiCOM.Form)
Dim oRS As SAPbobsCOM.Recordset
Try
Dim oCombo As SAPbouiCOM.ComboBox
' ************************************
' 1) ComboBox
' ************************************
oCombo = oForm.Items.Item("cType").Specific
If oCombo.ValidValues.Count = 0 Then
Dim sSQL As String = ""
sSQL = "SELECT Code, Name FROM [@MY_TABLE] ORDER BY Name"
oRS = SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
oRS.DoQuery(sSQL)
If oRS.RecordCount > 0 Then
Dim sCode As String = ""
Dim sName As String = ""
oRS.MoveFirst()
While Not oRS.EoF
If Not oRS.Fields.Item(0).Value Is Nothing Then
sCode = oRS.Fields.Item(0).Value
If Not oRS.Fields.Item(1).Value Is Nothing Then
sName = oRS.Fields.Item(1).Value
Else
sName = "--Not defined-- "
End If
Try
oCombo.ValidValues.Add(sCode, sName)
Catch ex As Exception
End Try
End If
oRS.MoveNext()
End While
End If
End If
If oCombo.ValidValues.Count > 0 Then oCombo.Select(0, BoSearchKey.psk_Index)
oCombo = Nothing
' ************************************
' 2) ComboBox
' ************************************
oCombo = oForm.Items.Item("cTypeSog").Specific
If oCombo.ValidValues.Count = 0 Then
oCombo.ValidValues.Add("BP", "Business Partner")
oCombo.ValidValues.Add("AG", "Agent")
oCombo.ValidValues.Add("CO", "Corporation")
End If
If oCombo.ValidValues.Count > 0 Then oCombo.Select(0, BoSearchKey.psk_Index)
oCombo = Nothing
Catch ex As Exception
' log exception
SBO_Application.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Long, BoStatusBarMessageType.smt_Error)
Finally
If Not oRS Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(oRS)
oRS = Nothing
End If
System.GC.Collect() 'Release the handle to the table
End Try
End Sub
Also, look this [Thread: ComboBox and DataTable|;.
Hope this can help you.
Regards
Sierdna S.
Edited by: Sierdna S on Oct 21, 2008 11:23 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you very much Sierdna, it has served me very much your help.
Andrés.-
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Andres,
we can add combo box in xml this way.
<validvalues>
<action type="add">
<ValidValue value="P" description="Prepaid"/>
<ValidValue value="C" description="Collect"/>
</action>
</ValidValues>
hope this helps you.
Regards,
OMPrakash
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi..
Send me correct scenario.
Regards..
Billa 2007
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
104 | |
12 | |
11 | |
6 | |
6 | |
4 | |
3 | |
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.