Jun 20, 2013, 12:57 PM
[CLOSED] ComboBox with Templates and AJAX
I try to implement Combobox with Proxy but it doesn't display any data.
== ASPX Page
== Return value on firefox debug page
It looks like combobox doesn't know what data set is.
== ASPX Page
<ext:ComboBox ID="CombPrimeVendors"
runat="server"
DisplayField="LGL_NM"
ValueField="LGL_NM"
TypeAhead="false"
Width="570"
PageSize="10"
HideBaseTrigger="true"
MinChars="0"
TriggerAction="Query" >
<ListConfig LoadingText="Searching...">
<ItemTpl ID="ItemTpl1" runat="server">
<Html>
<div class="search-item">
<h3><span>{VEND_CUST_CD}</span>{LGL_NM}</h3>
{ccVendorID}
</div>
</Html>
</ItemTpl>
</ListConfig>
<Store>
<ext:Store ID="Store2" runat="server" AutoLoad="false" IsPagingStore="true" PageSize="25">
<Proxy>
<ext:PageProxy DirectFn="ContractsCentral.DirectMethods.BindDataCombPrimeVendors">
<Reader>
<ext:ArrayReader />
</Reader>
</ext:PageProxy>
</Proxy>
<Model>
<ext:Model ID="Model16" runat="server">
<Fields>
<ext:ModelField Name="VEND_CUST_CD" />
<ext:ModelField Name="LGL_NM" />
<ext:ModelField Name="ccVendorID" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
</ext:ComboBox>
</asp:Content>
== ASPX.vb <DirectMethod([Namespace]:="ContractsCentral.DirectMethods")> _
Public Function BindDataCombPrimeVendors(ByVal action As String, ByVal extraParams As Dictionary(Of String, Object))
Dim prms As StoreRequestParameters = New StoreRequestParameters(extraParams)
Dim total As Integer
Dim data = milestoneCtrl.getVendors(prms.Query.Replace("*", "%"), prms.Start, prms.Limit, total)
Dim reLst As List(Of Object) = New List(Of Object)()
For Each dr As DataRow In data
reLst.Add(New With { _
Key .VEND_CUST_CD = dr.ItemArray(0), _
.LGL_NM = dr.ItemArray(1), _
.ccVendorID = dr.ItemArray(2) _
})
Next
Return reLst
End Function
== Class filePublic Function getVendors(ByVal AwardFCPrimeSearch As String, ByVal Start As Integer, ByVal Limit As Integer, ByRef Total As Integer)
Dim objAdvVend As Vendor = New Vendor()
objAdvVend.sVendorName = NullToString(AwardFCPrimeSearch)
objAdvVend.nListType = 1
Dim dv As System.Data.DataView = objAdvVend.GetAdvantageVendors
Dim Vendors As DataTable = dv.Table
Total = Vendors.Rows.Count
Dim data = From vendor In Vendors.AsEnumerable() Skip Start Take Limit Select vendor
Return data.ToList()
End Function
== Return value on firefox debug page
<textarea>{result:[
{"VEND_CUST_CD":"VC0000116939","LGL_NM":"3 HENDRICKS HOMES INC","ccVendorID":0},
.
.
23 records
.
.
{"VEND_CUST_CD":"VC0000026841","LGL_NM":"BROWARD HOMEBOUND PROGRAM INC","ccVendorID":0}]}
</textarea>
I don't know why <textarea> tag was added on this ajax return values.It looks like combobox doesn't know what data set is.
Last edited by Daniil; Jun 21, 2013 at 3:52 PM.
Reason: [CLOSED]