How to bind this?
i have an array. i use objectarraydataprovider that uses my array.i want to use expression like page.oadpAddresses.options['addressKey.id,addressName']}. addressKey is an object and it has a property called id. i can use root properties of this array's items. how can i bind inner properties?
what does #{......options[...]} means? there is no method called options in objectarraydataprovider?
<ui:dropDown binding="#{page.cmbAddressType}" id="cmbAddressType"
items="#{page.oadpAddresses.options['addressKey.id,addressName']}">
With the dataprovider's "options" notation, you must specify field keys of the dataprovider, which, as I recall, are the "top-level" properties of the underlying object type in your array. So you will not be able to specify "nested" properties of that type in this scenario, since those nested properties are not the field keys.
The options notation is implemented by the DataProviderPropertyResolver. It takes the field keys you specify and creates Options objects.
In this case, it may be easier just to create an array of Option objects yourself and not use the dataprovider.
Similar Messages
-
How to bind Temporary Queue to Context in FioranoMQ
I have two JMS clients sending messages to each other via FioranoMQ.
And one client creates a temporary queue, for example
Temporary Queue auction1Queue = qSession.createTemporaryQueue();
My question is how to bind this auction1Queue to Context? so that the client on the side can lookup
I don't use the usual way of set/getJMSReplyTo() to message because it will change the logic of my program.
With SonicMQ, I just simply bind it like this
jndi.bind("auction1", auction1Queue);
then the other side just need to jndi.lookup("auction1")
and with ActiveMQ it is even simpler
Both side just need to lookup for the same name like that
jndi.lookup("dynamicQueues/auction1");
http://activemq.apache.org/jndi-support.html
But FioranoMQ does not support both of the above operations.
I don't really know how to do the same thing with FioranoMQ.
Hope that somebody can help me.
Thank you very much
Edited by: dannytrinh1 on Apr 16, 2009 5:53 AMHow to look up for temporary queue by using temporary queue name using JNDI context. I am getting lookup faild error" for temporary queue. While trying to bind this temporary queue name to jndi , it is throwing an exception as: notsupported exception. I am using ActiveMQ 5.2.
See below sample code...
tq = session.createTemporaryQueue();
jndiContext.bind("queue.MyTempQueue",tq); -
How to bind XML to Datagrid?
My xml is here:
<?xml version="1.0"?><ITRequests><CallInfo><id type="INT UNSIGNED">42</id><request_no type="VARCHAR">1313_IT_220520100709</request_no><requester_uid type="VARCHAR">administrator</requester_uid><request_date type="VARCHAR">22-May-2010 07:09:34 PM</request_date><title type="VARCHAR">Printer Installation</title><status type="VARCHAR">Closed</status></CallInfo><CallInfo><id type="INT UNSIGNED">43</id><request_no type="VARCHAR">1314_IT_220520100718</request_no><requester_uid type="VARCHAR">administrator</requester_uid><request_date type="VARCHAR">22-May-2010 07:17:49 PM</request_date><title type="VARCHAR">Software Installation</title><status type="VARCHAR">In Progress</status></CallInfo><CallInfo></ITRequests>
I don't know how to bind this to a simple datagrid.
Can someone help me please?
PS: The data is in a String variable.
Thanks,
NithGetting your data in the form a string is a PITA. Can you just use the XML itself, and convert it to an ArrayCollection? Then you could just use an HTTP request, for instance, to retrieve it.
Anyway, here is the code you need. It also demonstrates using E4X syntax to filter out the root node.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"creationComplete="initApp()"
>
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.collections.ArrayCollection;
private var strData:String = "<?xml version='1.0'?><ITRequests><CallInfo><id type='INT UNSIGNED'>42</id><request_no type='VARCHAR'>1313_IT_220520100709</request_no><requester_uid type='VARCHAR'>administrator</requester_uid><request_date type='VARCHAR'>22-May-2010 07:09:34 PM</request_date><title type='VARCHAR'>Printer Installation</title><status type='VARCHAR'>Closed</status></CallInfo><CallInfo><id type='INT UNSIGNED'>43</id><request_no type='VARCHAR'>1314_IT_220520100718</request_no><requester_uid type='VARCHAR'>administrator</requester_uid><request_date type='VARCHAR'>22-May-2010 07:17:49 PM</request_date><title type='VARCHAR'>Software Installation</title><status type='VARCHAR'>In Progress</status></CallInfo></ITRequests>";[
Bindable]
private var acData:ArrayCollection;
private function initApp():void{ getCallInfo();
private function getCallInfo():void{
//Convert string to XML:
var sxml:XML = new XML(strData);
//Create an ArrayCollection.
//Just get the 'CallInfo' nodes (ignoring the root node, 'ITRequests'):
acData =
new ArrayCollection(new XMLListCollection(new XMLList(sxml..CallInfo)).toArray());
trace(acData);}
]]>
</mx:Script>
<mx:DataGrid
dataProvider="{acData}">
<mx:columns>
<mx:DataGridColumn dataField="id" width="50"/>
<mx:DataGridColumn dataField="request_no" width="180"/>
</mx:columns></mx:DataGrid>
</mx:Application> -
How to bind to REST web services?
The REST web services don't provide WSDL. How to bind this kind of services?
Thanks.Melvin, not yet (in fact it's on my plate) - what I usually argue for is to abstract these pieces into services (much like what I did in the rest sample, and then expose them .. )
In any case - I will start collecting ideas (that is topics) for best practices soon .. Let me know if you have any specific wishes.
cheers -
I am developing a desktop application in Wpf using MVVM and Entity Frameworks. I have the following tables:
1. Party (PartyId, Name)
2. Case (CaseId, CaseNo)
3. Petitioner (CaseId, PartyId) ............. Link Table
I am completely new to .Net and to begin with I download Microsoft's sample application and
following the pattern I have been successful in creating several tabs. The problem started only when I wanted to implement many-to-many relationship. The sample application has not covered the scenario where there can be a any-to-many relationship. However
with the help of MSDN forum I came to know about a link table and managed to solve entity framework issues pertaining to many-to-many relationship. Here is the screenshot of my application to show you what I have achieved so far.
And now the problem I want the forum to address is how to bind a combo box so that it retrieves Party.Name for the corresponding PartyId in the Link Table and also I want to populate it with Party.Name so that
users can choose one from the dropdown list to add or edit the petitioner.Hello Barry,
Thanks a lot for responding to my query. As I am completely new to .Net and following the pattern of Microsoft's Employee Tracker sample it seems difficult to clearly understand the concept and implement it in a scenario which is different than what is in
the sample available at the link you supplied.
To get the idea of the thing here is my code behind of a view vBoxPetitioner:
<UserControl x:Class="CCIS.View.Case.vBoxPetitioner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:v="clr-namespace:CCIS.View.Case"
xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
mc:Ignorable="d"
d:DesignWidth="300"
d:DesignHeight="200">
<UserControl.Resources>
<DataTemplate DataType="{x:Type vm:vmPetitioner}">
<v:vPetitioner Margin="0,2,0,0" />
</DataTemplate>
</UserControl.Resources>
<Grid>
<HeaderedContentControl>
<HeaderedContentControl.Header>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBlock Margin="2">
<Hyperlink Command="{Binding Path=AddPetitionerCommand}">Add Petitioner</Hyperlink>
| <Hyperlink Command="{Binding Path=DeletePetitionerCommand}">Delete</Hyperlink>
</TextBlock>
</StackPanel>
</HeaderedContentControl.Header>
<ListBox BorderThickness="0" SelectedItem="{Binding Path=CurrentPetitioner, Mode=TwoWay}" ItemsSource="{Binding Path=tblParties}" />
</HeaderedContentControl>
</Grid>
</UserControl>
This part is working fine as it loads another view that is vPetioner perfectly in the manner I want it to be.
Here is the code of vmPetitioner, a ViewModel:
Imports Microsoft.VisualBasic
Imports System.Collections.ObjectModel
Imports System
Imports CCIS.Model.Party
Namespace CCIS.ViewModel.Case
''' <summary>
''' ViewModel of an individual Email
''' </summary>
Public Class vmPetitioner
Inherits vmParty
''' <summary>
''' The Email object backing this ViewModel
''' </summary>
Private petitioner As tblParty
''' <summary>
''' Initializes a new instance of the EmailViewModel class.
''' </summary>
''' <param name="detail">The underlying Email this ViewModel is to be based on</param>
Public Sub New(ByVal detail As tblParty)
If detail Is Nothing Then
Throw New ArgumentNullException("detail")
End If
Me.petitioner = detail
End Sub
''' <summary>
''' Gets the underlying Email this ViewModel is based on
''' </summary>
Public Overrides ReadOnly Property Model() As tblParty
Get
Return Me.petitioner
End Get
End Property
''' <summary>
''' Gets or sets the actual email address
''' </summary>
Public Property fldPartyId() As String
Get
Return Me.petitioner.fldPartyId
End Get
Set(ByVal value As String)
Me.petitioner.fldPartyId = value
Me.OnPropertyChanged("fldPartyId")
End Set
End Property
End Class
End Namespace
And below is the ViewMode vmParty which vmPetitioner Inherits:
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports CCIS.Model.Case
Imports CCIS.Model.Party
Imports CCIS.ViewModel.Helpers
Namespace CCIS.ViewModel.Case
''' <summary>
''' Common functionality for ViewModels of an individual ContactDetail
''' </summary>
Public MustInherit Class vmParty
Inherits ViewModelBase
''' <summary>
''' Gets the underlying ContactDetail this ViewModel is based on
''' </summary>
Public MustOverride ReadOnly Property Model() As tblParty
'''' <summary>
'''' Gets the underlying ContactDetail this ViewModel is based on
'''' </summary>
'Public MustOverride ReadOnly Property Model() As tblAdvocate
''' <summary>
''' Gets or sets the name of this department
''' </summary>
Public Property fldName() As String
Get
Return Me.Model.fldName
End Get
Set(ByVal value As String)
Me.Model.fldName = value
Me.OnPropertyChanged("fldName")
End Set
End Property
''' <summary>
''' Constructs a view model to represent the supplied ContactDetail
''' </summary>
''' <param name="detail">The detail to build a ViewModel for</param>
''' <returns>The constructed ViewModel, null if one can't be built</returns>
Public Shared Function BuildViewModel(ByVal detail As tblParty) As vmParty
If detail Is Nothing Then
Throw New ArgumentNullException("detail")
End If
Dim e As tblParty = TryCast(detail, tblParty)
If e IsNot Nothing Then
Return New vmPetitioner(e)
End If
Return Nothing
End Function
End Class
End Namespace
And final the code behind of the view vPetitioner:
<UserControl x:Class="CCIS.View.Case.vPetitioner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
mc:Ignorable="d"
Width="300">
<UserControl.Resources>
<ResourceDictionary Source=".\CompactFormStyles.xaml" />
</UserControl.Resources>
<Grid>
<Border Style="{StaticResource DetailBorder}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Petitioner:" />
<ComboBox Grid.Column="1" Width="240" SelectedValuePath="." SelectedItem="{Binding Path=tblParty}" ItemsSource="{Binding Path=PetitionerLookup}" DisplayMemberPath="fldName" />
</Grid>
</Border>
</Grid>
</UserControl>
The problem, presumably, seems to be is that the binding path "PetitionerLookup" of the ItemSource of the Combo box in the view vPetitioner exists in a different ViewModel vmCase which serves as an ObservableCollection for MainViewModel. Therefore,
what I need to Know is how to route the binding path if it exists in a different ViewModel?
Sir, I look forward to your early reply bringing a workable solution to the problem I face.
Warm Regards,
Arun -
Hello,
on my page I have 2 items:checkbox and text area. How to bind its work processes together? For example, when checkbox is checked then Text area is disable and when not then enable.
Thanks' for help.
Karina.hi karina--
this, too, is javascript question. please see my answer to your previous post...
Multiselect list (LOV)
...regards,
raj -
How to bind several data (more then 7300) to datagrid
Hello,
I am trying to bind to datagrid several data. I created an observablecollection, i stocked data into this collection and then i binded this collection to my datagrid. In xaml file i declared my datacontext. When i did it my visual studio and all application
on my computer clock. I can't do anything. A simple think that i can do, is to close session and restart .
I need help.
Here is some sample:
code cs ViewModel:
using System;
using System.Collections.Generic;
using System.Text;
using GestionDeContrats_Offres_ClientsGUI.VueModele;
using System.Collections.ObjectModel;
using System.Windows.Data;
using System.ComponentModel;
using GestionDeContrats_Offres_Clients.GestionOffres;
using GestionDeContrats_Offres_Clients.GestionContrats;
using System.Windows.Input;
using GestionDeContrats_Offres_Clients.GestionModele;
using GestionDeContrats_Offres_ClientsGUI.crm;
using System.Data;
namespace GestionDeContrats_Offres_ClientsGUI.VueModele
/// <summary>
/// </summary>
public class GestionDeContratVueModele : VueModeleBase
private readonly ObservableCollection<ContratVueModele> contrats;
private readonly PagingCollectionView pagingView;
private GestionDeContrat gestiondecontrat;
/// <summary>
/// Constructeur de la classe
/// GestionDeContratVueModele
/// </summary>
public GestionDeContratVueModele() {
try
this.gestiondecontrat = new GestionDeContrat();
this.contrats = new ObservableCollection<ContratVueModele>();
this.contrats.Clear();
foreach (contract contrat in this.gestiondecontrat.ListeDeContrat())
// this.contrats.Add(new ContratVueModele());
this.contrats.Add(new ContratVueModele() { NOMDUCONTRAT = contrat.title, DATEDEDEBUT = contrat.activeon.Value, DATEDEFIN
= contrat.expireson.Value, LESTATUT = contrat.statecode.formattedvalue,LESTATUTAVANT=contrat.access_etatavant.name });
this.pagingView = new PagingCollectionView(this.contrats, 3);
if (this.pagingView == null)
throw new NullReferenceException("pagingView");
this.currentpage = this.pagingView.CurrentPage;
this.pagingView.CurrentChanged += new EventHandler(pagingView_CurrentChanged);
catch(System.Web.Services.Protocols.SoapException soapEx){
soapEx.Detail.OuterXml.ToString();
/// <summary>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void pagingView_CurrentChanged(object sender, EventArgs e)
OnPropertyChanged("SelectedContrat");
Dispose();
//throw new NotImplementedException();
/// <summary>
/// Propriété permettant de manipuler la
///Vue Modèle de la liste des contrats
/// </summary>
public ObservableCollection<ContratVueModele> Lescontrats
get
return this.contrats;
code xaml:
<UserControl x:Class="GestionDeContrats_Offres_ClientsGUI.VueModele.UserControlGestionContrat"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
x:Name="GestionContrat"
xmlns:local="clr-namespace:GestionDeContrats_Offres_ClientsGUI.VueModele"
d:DesignHeight="300" >
<UserControl.DataContext>
<local:GestionDeContratVueModele />
</UserControl.DataContext>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="40"/>
<RowDefinition />
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="320"/>
<ColumnDefinition Width="40" />
</Grid.ColumnDefinitions>
<TextBox Name="searchtexbox" Grid.Column="0"/>
<Image Grid.Column="1" Source="/GestionDeContrats_Offres_ClientsGUI;component/Images/16_find.gif" />
</Grid>
<ToolBar Grid.Row="1" Name="toolbarcontrat">
<Button Name="btNewContrat" Click="btNewContrat_Click">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="/GestionDeContrats_Offres_ClientsGUI;component/Images/plusvert.jpg" />
<Label Content="Nouveau" Grid.Column="1"/>
</Grid>
</Button>
<Button Name="btCopierContrat" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="/GestionDeContrats_Offres_ClientsGUI;component/Images/editcopy.png" />
<Label Content="Copier" Grid.Column="1"/>
</Grid>
</Button>
<Button Name="btSupprimerContrat" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="/GestionDeContrats_Offres_ClientsGUI;component/Images/delgreen16.jpg" />
<Label Content="Supprimer" Grid.Column="1"/>
</Grid>
</Button>
<Button Name="btModifierContrat" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="/GestionDeContrats_Offres_ClientsGUI;component/Images/ico_18_4207.gif" />
<Label Content="Modifier" Grid.Column="1"/>
</Grid>
</Button>
</ToolBar>
<DataGrid Name="listViewContrat" Grid.Row="2" ItemsSource="{Binding Path=Lescontrats, Mode=OneWay}" IsSynchronizedWithCurrentItem="True" AutoGenerateColumns="False"
CanUserReorderColumns="True" CanUserResizeColumns="True" CanUserSortColumns="True" CanUserAddRows="True" CanUserDeleteRows="True">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Nom du contrat" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=NOMDUCONTRAT, Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Date de début" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DATEDEDEBUT, Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Date de fin" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DATEDEFIN, Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Statut" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=LESTATUT,Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Statut avant" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text=""/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="3" Orientation="Horizontal">
<Label Margin="2" Content=""/>
<Button Content="Suivant" Name="btNext" Margin="2" />
<Button Content="Précédent" Name="btPrevious" Margin="2" />
</StackPanel>
</Grid>
</UserControl>
I include link to this usercontrol into MainWindow.xaml.
Thanks
RegardsI think what darnold was trying to say....
Those very clever people who come up with insights on human behaviour have studied how many records a user can work with effectively.
It turns out that they can't see thousands of records at once.
Their advice is that one presents a maximum of 200-300 records at a time.
What with maybe 40 fitting on a screen at a time. Few people like spending 20 minutes scrolling through a stack of data they're not interested in to find the one record they're after.
Personally, I would use a treeview, set of combos or some such so the user can select what subset they are interested in and present just that.
Anyhow.
If you have a viewmodel which exposes an observable collection<t> as a public property you can bind the itemssource of a datagrid to that.
Although UI controls have thread affinity, the objects in such a collection do not.
That means you can use another thread to go get your data, add it to the observable collection, the fact it's an observable collection tells the view as records are added and it will show them. The ui will remain responsive.
You can do this using skip and take to read a couple hundred records at a time and add those, pause and repeat for the next couple hundred records. Use linq - skip and take.
Please don't forget to upvote posts which you like and mark those which answer your question.
My latest Technet article - Dynamic XAML -
How to bind data for a UDO table..on to MATRIX
hi
i have created a Master Data Table(Video) and also created UDO object...
i designed a form with 2 controls as text boxes and a matrix with some coloums.........
the functioality of the form is ..when i enter some values in those controls...it should get data from DB table and should be displayed in matrix on my form. based on condition what i have entered on form controls...
i have done the same scenario successfully when i'm dealing with other controls like textboxes...by binding data to the controls from DB..
But i dont know how to deal this scenario where i'm populating data to matrix from DBi have used DataTables as u said...but still i'm getting an Exception called " Public MEmber 'Data Table" on type IMatrix not found"
this is following code i have written in my program...
plz give me the solution.....and code...
Try
oitem = oform.Items.Item("7")
omatrix = oitem.Specific
ocolumns = omatrix.Columns
oform.DataSources.DataTables.Add("[@VIDS]")
' odbdatasource = oform.DataSources.DBDataSources.Add("[@VIDS]")
omatrix.DataTable = oform.DataSources.DataTables.Item("[@VIDS]")
'// Ready Matrix to populate data
omatrix.Clear()
omatrix.AutoResizeColumns()
'// Querying the DB Data source
odbdatasource.Query()
'// setting the user data source data
omatrix.LoadFromDataSource()
ocolumn = ocolumns.Item("V_5")
ocolumn.DataBind.SetBound(True, "[@VIDS]", "Code")
ocolumn = ocolumns.Item("V_4")
ocolumn.DataBind.SetBound(True, "[@VIDS]", "Name")
ocolumn = ocolumns.Item("V_3")
ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_CardCode")
ocolumn = ocolumns.Item("V_2")
ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_ShelfNumber")
ocolumn = ocolumns.Item("V_1")
ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_SPACENumber")
ocolumn = ocolumns.Item("V_0")
ocolumn.DataBind.SetBound(True, "[@VIDS]", "U_RentedAvailable")
Catch ex As Exception
SBO_Application.MessageBox(ErrorToString)
End Try -
How to bind a UI element to the context
Hi Experts,
I have a problem binding UI element to the context. In my code i have to create TabStrips dynamically and under this tabstrip number of UI elements would be there. For this i have a code like this..
IWDTransparentContainer theActionContainer =(IWDTransparentContainer)view.getElement("RootUIElementContainer");
IWDTabStrip ts = (IWDTabStrip) view.createElement(IWDTabStrip.class,"TabStrip");
IWDTab tab1 = (IWDTab) view.createElement(IWDTab.class,"Tab1");
IWDInputField in = (IWDInputField) view.createElement(IWDInputField.class,"in");
IWDCaption header1 = (IWDCaption) view.createElement(IWDCaption.class,"Header1");
header1.setText("Tab1");
tab1.setContent(in);
ts.addTab(tab1);
IWDTab tab2 = (IWDTab) view.createElement(IWDTab.class,"Tab2");
IWDInputField in2 = (IWDInputField) view.createElement(IWDInputField.class,"in2");
IWDCaption header2 = (IWDCaption) view.createElement(IWDCaption.class,"Header2");
header2.setText("Tab2");
tab2.setHeader(header2);
ts.addTab(tab2);
theActionContainer.addChild(ts);
<b>when i run this code it is giving following exceptions..</b>
The initial exception that caused the request to fail, was:
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Property 'value' of AbstractInputField with id 'in' in view 'LoginView' must be bound to the context
at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.AbstractInputField.getValue(AbstractInputField.java:1260)
at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.InputFieldAdapter.getValue(InputFieldAdapter.java:582)
at com.sap.tc.ur.renderer.ie6.InputFieldRenderer.render(InputFieldRenderer.java:56)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
... 63 more
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Property 'value' of AbstractInputField with id 'in' in view 'LoginView' must be bound to the context
at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.AbstractInputField.getValue(AbstractInputField.java:1260)
at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.InputFieldAdapter.getValue(InputFieldAdapter.java:582)
at com.sap.tc.ur.renderer.ie6.InputFieldRenderer.render(InputFieldRenderer.java:56)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripItemContentFragment(TabStripRenderer.java:1867)
at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripFragment(TabStripRenderer.java:838)
From these exceptions what i understood is, i need to bind these UI elements to context.
Can any body tell me how to bind a UI element to the context if I understood the exceptions correct..
Thanks in Advance,
Murthy.HI,
lets say Ctx is your context attribute,
IWDAttributeInfo attrInfo = wdContext.getNodeInfo.getAttribute("Ctx");
then , as per your code,
IWDInputField in = (IWDInputField) view.createElement(IWDInputField.class,"in");
<b>in.bindValue(attrInfo);</b>
if your contex attribute is child of some other node then do like this,
IWDAttributeInfo attrInfo = wdContext.getNodeInfo.getChildNode("SalesOrder",0)getAttribute("Ctx");
//this is when Ctx is child of node SalesOrder, and we are taking Ctx from its 0th element
then ,
IWDInputField in = (IWDInputField) view.createElement(IWDInputField.class,"in");
<b>in.bindValue(attrInfo);</b>
include this in your code ,
let me know if you face any problem
regards
reward points if it helps -
How to bind an aggregated list to a variable in an IN or ANY clause
Hello, and thank you for helping -
I have a process that involves a parameter assertion, the result of which is a string for an IN or ANY clause. I am not able to figure out how to bind the result of the assertion to to executable SQL. The actual business process is long and laborious and, I decided, not worth explaining for the purpose of this forum. I have abstracted the process into some dummy data. The goal is to bind v_any_condition to :a. I could certainly build the SQL without the binding, but I would be very interested to know just the same what I am missing here (I'm sure something simple, or just a basic SQL rules that I have missed).
Thanks!
DECLARE
-- The goal is to bind v_any_condition in an ANY clause
v_any_condition VARCHAR2(30) DEFAULT '4,9,d'; -- the three rows to return from the sample data
-- v_any_condition VARCHAR2(30) DEFAULT DBMS_ASSERT.ENQUOTE_LITERAL('4')||','||
-- DBMS_ASSERT.ENQUOTE_LITERAL('9')||','||
-- DBMS_ASSERT.ENQUOTE_LITERAL('d');
v_sql varchar2(2048);
-- We'll create a simple cursor of VARCHAR2(1) just like DUAL.DUMMY
rc sys_refcursor;
rc_record dual%ROWTYPE;
v_counter NUMBER DEFAULT 0;
BEGIN -- Build the SQL. In this example, we decompose an aggregated string
-- containing the first 16 hex numbers. The result is a simple 16-row table
-- from which we will attempt to return the three rows by binding
-- v_any_condition to ANY in the SQL below.
v_sql := '
SELECT token
FROM ( -- materialize the list
WITH t AS (SELECT ''0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f'' AS txt FROM DUAL)
-- then decompose the list into rows
SELECT REGEXP_SUBSTR (txt, ''[^,]+'', 1, LEVEL) AS token
FROM t
CONNECT BY LEVEL <= LENGTH(REGEXP_REPLACE(txt,''[^,]*''))+1
/* WHERE token = ANY(''4'',''9'',''d'') */ -- hardcoding works
WHERE token = ANY(:a) -- binding does not work; the goal is to get this to work '
OPEN rc FOR v_sql USING v_any_condition; -- when binding, we never even enter the loop
LOOP
v_counter := v_counter + 1;
FETCH rc INTO rc_record;
EXIT WHEN rc%NOTFOUND;
DBMS_OUTPUT.PUT_LINE (v_counter || ': '||rc_record.dummy);
END LOOP;
END;
Edited by: ltps on Jan 9, 2012 4:28 PMSuperb. Thank you very much.
For anyone who is interested in the solution I chose, here is the revised SQL that accepts a list as a bind variable after casting the list as a table. The "split string" code is below that. (What look like double quotes in the block below are actually consecutive single quotes.)
DECLARE
v_any_condition VARCHAR2(30) DEFAULT '4,9,d';
v_sql varchar2(2048);
rc sys_refcursor;
rc_record dual%ROWTYPE;
v_counter NUMBER DEFAULT 0;
BEGIN
v_sql := '
SELECT token
FROM (
WITH t AS (SELECT ''0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f'' AS txt FROM DUAL)
-- then decompose the list into rows
SELECT REGEXP_SUBSTR (txt, ''[^,]+'', 1, LEVEL) AS token
FROM t
CONNECT BY LEVEL <= LENGTH(REGEXP_REPLACE(txt,''[^,]*''))+1
, TABLE(CAST(XX_SPLIT_STRING(:a,'','') AS XX_SPLIT_TABLE)) cst
WHERE cst.column_value = token'
OPEN rc FOR v_sql USING v_any_condition;
LOOP
v_counter := v_counter + 1;
FETCH rc INTO rc_record;
EXIT WHEN rc%NOTFOUND;
DBMS_OUTPUT.PUT_LINE (v_counter || ': '||rc_record.dummy);
END LOOP;
END;
-- And the main SQL, just for clarity:
SELECT token
FROM (
WITH t AS (SELECT '0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f' AS txt FROM DUAL)
SELECT REGEXP_SUBSTR (txt, '[^,]+', 1, LEVEL) AS token
FROM t
CONNECT BY LEVEL <= LENGTH(REGEXP_REPLACE(txt,'[^,]*'))+1
, TABLE(CAST(XX_SPLIT_STRING('4,9,d',',') AS XX_SPLIT_TABLE)) cst
WHERE cst.column_value = token;
CREATE OR REPLACE FUNCTION XX_SPLIT_STRING (
p_string VARCHAR2
, p_delimiter VARCHAR2 DEFAULT ','
RETURN XX_SPLIT_TABLE PIPELINED
IS
l_idx PLS_INTEGER;
l_string VARCHAR2(32767) := p_string;
l_value VARCHAR2(32767);
BEGIN
LOOP
l_idx := INSTR ( l_string, p_delimiter );
IF l_idx > 0 THEN
pipe ROW ( SUBSTR ( l_string, 1, l_idx - 1 ) );
l_string := SUBSTR ( l_string, l_idx + LENGTH (p_delimiter) );
ELSE
PIPE ROW ( l_string);
EXIT;
END IF;
END LOOP;
RETURN;
END XX_SPLIT_STRING; -
How to bind JtextFields in Swing to Table fields in the database
Can some one give the code of how to bind JtextFields in Swing to Table fields in the database
Am really new to java programming and have interest in learningThe standard JDK doesn't do this for you. If you search on Google, you may find some 3rd party packages that will do this.
You need to create your own form add execute the appropriate SQL yourself. Read the tutorial on [url http://java.sun.com/docs/books/tutorial/]JDBC Database Access to get started. -
How to bind "Image Field" object on a database
Hi to all
I inserted into a dynamic PDF (Livecycle ES3 trial) an image field, but I don't understand how I can to bind a JPG into a database.
In (F5) preview... I'm able to open a image file on filesystem and visualize it on PDF form... but then? How to bind on database?
In my several tentatives I'm using a MS Access 2010 database table, where I defined a OLE object... but doesn't work.
Thank you at all.
visertHi,
I have not tried to do this, but this document provides some instructions.
http://partners.adobe.com/public/developer/en/livecycle/lc_designer_XML_schemas.pdfhttp://partners.adobe.com/public/developer/en/livecycle/lc_designer_XML_schemas.pdf
Hope it helps
Bruce -
How to call this procedure in my report to print my procedure output
Hi,
i have a table named letter,it contains 2 columns named as letter_id and letter_content.
select * from letter;
letter_id letter_content
103 Dear MFR
103 This is in regards to the attached DM List
103 Please Credit us after reviewing it.
103 Thanks
103 Regards
103 xxxx
108 Dear customer
108 This is to inform that ur DM List is as follows
108 Credit us according to the Dm after reviewing it.
108 Thanks
108 Regards
108 xxxx
now my requirement is,i need send a parameter as letter_id to a procedure or function in pl/sql in oracle,the output should be as follows:
if we will pass parameter(letter_id) = 103 then it displays as follows:
Dear MFR
This is in regards to the attached DM List.Please Credit us after reviewing it.
Thanks
Regards,
XXXXX.
if we will pass parameter(letter_id) = 108 then it should displays as follows:
Dear customer,
This is to inform that ur DM List is as follows. Credit us according to the Dm after reviewing it.
Thanks
Regards,
XXXXX.
the procedure for my requirement is like below.now my problem is how to call this procedure in my report.so that if i will send a parameter as letter_id then it should get my report stated above.
CREATE OR REPLACE PROCEDURE letter_text ( p_letter_id letter.letter_id%TYPE , p_letter_contents_out OUT SYS_REFCURSOR )
IS
BEGIN
OPEN p_letter_contents_out
FOR
SELECT letter_content
FROM letter
WHERE letter_id = p_letter_id
ORDER BY line_seq;
END letter_text;
which you might call with something like
SQL> var results refcursor
SQL> exec letter_text(103, :results)
PL/SQL procedure successfully completed.
SQL> print :results;
CONTENT
Dear MFR
this is in regards to the attached DM List
Please credit us after reviewing it
thanks
Regards
EXP
6 rows selected.
so, the same out put i need to get it in a report.
ThanksThanks for ur suggestions.
i have 2 select statements.1st query is the main query for the report.so i used it at the time of report created with datablock.
now my 2nd query is
select letter_content
from ( select content_seq,
content || case content_seq
when 2 then
' ' || lead(content) over (partition by letter_id order by content_seq)
end as letter_content
from exp_letter_contents
where letter_id = 103)
where content_seq <> 3;
i had taken 2parameters 1 for the main query and 2nd is for the above query(parameter is letter_id).
now i have to write the above select statement in the report.
so i had taken a field object in the report and then i had written this code in before report trigger.
function letter_contentFormatTrigger return boolean is
begin
select letter_content
from ( select content_seq,
content ||
case content_seq when 2 then
' ' || lead(content) over (partition by letter_id order by content_seq)
end as letter_content
from exp_letter_contents
where letter_id = 103)
where content_seq <> 3;
return (letter_content);
end;
when i tried to compile it.i got an error as follows :
error 103 at line6,column 5
encountered the symbol "CASE" when expecting one of the following:
(- + mod null <an identifier>
<a double-quoted delimited-identifier><a bind variable> avg...etc
so,where can i write this select statement.
i am using oracle reports6i
Message was edited by:
user579585 -
How to bind korean parameters in XSQL????
Hi,
I am binding english parameters in XSQL very well.
But when I am trying to bind japaneese or korean it is not displaying rows.
I am giving the sample code.
hello.xsql
<?xml version="1.0" encoding="euc-kr"?>
<xsql:query connection="scs" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:xsql="urn:oracle-xsql" row-element="ADDRESSES_ROW">
select * from emp where name='{@name}'
</xsql:query>
Request: http://hello.xsql?name=JOHN ::: working fine
Request: http://hello.xsql?name=koreanName :::Not working
Please help me in this regard.
How to bind name in korean in XSQL servlet..
Regards,
sudhiDo you have nlscharset_12.jar in your classpath?
what web server are you using XSQL with?
Have you tried using real bind variables like this:
<xsql:query bind-params="name">
select * from emp where ename = ?
</xsql:query>
Does a query like:
<xsql:query bind-params="name">
select * from emp
</xsql:query>
return the korean data to the browser correctly? -
How to bind Dimension data to SDK Component
Hi Guys,
I am trying to create a Cascading box component with the help of SDK development using eclipse.
I don't know how can I get the dimension data to my component.
when I am using data binding property type as "resultCellList" then I am able to bind the Measures' data to the component.
Can anybody suggest me how to bind dimension data to my SDK component?In the menu under Help Contents, there is an SDK section with examples that spell this out for you.
There is also an easier to read and print PDF on the SAP Help site here:
http://help.sap.com/businessobject/product_guides/AAD14/en/ds14SP02_dev_guide_en.pdf
Also premade samples here:
http://help.sap.com/businessobject/product_guides/AAD14/en/DS_14SP02_SDK_SAMPLES.zip
Main DS Help Site:
SAP BusinessObjects Design Studio 1.4 SP02 – SAP Help Portal Page
SDK Community Site with other examples and Open Source links:
SCN Design Studio SDK Development Community
Maybe you are looking for
-
Hello, I am writing as I am experiencing some issues with my favorite web browser after updating to Windows 8.1. Here are some details. I updated from Windows 8.0 to Windows 8.1 and ever since Firefox has run somewhat strangely. In particular when on
-
Problems with a Qosmio F20/390L Network/Ethernet controller
I've got a problem with a Qosmio F20/390L from Japan, and I'm trying to get hold of the network drivers for it. I've had a look on the US, UK and Japan sites, but I've had no luck. Can anyone tell me what you have in your machines if you can't tell m
-
Hi, I am working on Oracle forms10g ( 10.1.2.0) with Sun JRE6 (Using JRE version 1.6.0_31-b05) which is working fine. the only problem is, when I use edit command, its not working nor show any error. Command I am using (to display the text file in co
-
Using a queue to increase buffer
Hi, I am aquiring data from a 3 axis accelerometer, at a pretty high sampling rate, 10K. I have seen that "randomly" there are peaks in my data above what resonant frequency applitutes should be. The spikes are unreasonably big and almost never occur
-
Problem with DC to DC communication
Hi All, I have totally 3 DC's. first and second DC's have a button. On click either of these buttons in 1st and 2nd DC's, 3rd DC application should open. So user can come from either first DC or second DC. Depending on where the request came from i h