[CLOSED] Setting Combobox value in code behind

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    [CLOSED] Setting Combobox value in code behind

    I'm trying to set the selected item value for a combobox in code behind with limited success. I'm able to set some values, but not others. The product and rate card seem to be selecting properly, though the ad size is not. Please take a look and the following code sample and let me know what I'm missing. Thank you.

    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <ext:ScriptManager ID="ScriptManager1" runat="server" />   
            <ext:TextField runat="server" ID="txtItemID" Hidden="true" HideMode="Display" Text="-1"></ext:TextField>
                                  
    <ext:Store ID="store_Product" runat="server" AutoLoad="true">
        <Reader>
            <ext:ArrayReader ReaderID="ID">
                <Fields>
                    <ext:RecordField Name="ID" Type="String" />
                    <ext:RecordField Name="DropDownDisplay" Type="String" />
                </Fields>
            </ext:ArrayReader>
        </Reader>
        <Listeners>
            <Load Handler="if(this.initialized || !this.withPredefined){ #{cbo_Product}.setValue(this.getAt(0).data[#{cbo_Product}.valueField]);#{store_RateCard}.reload();};this.initialized = true;"
            Single="false" />
        </Listeners>
    </ext:Store>
      
    <ext:Store ID="store_RateCard" runat="server" AutoLoad="false" OnRefreshData="LoadRCardList">
        <Reader>
            <ext:ArrayReader ReaderID="ID">
                <Fields>
                    <ext:RecordField Name="ID" Type="String" />
                    <ext:RecordField Name="DropDownDisplay" Type="String" />
                    <ext:RecordField Name="IsNet" Type="String" />
                </Fields>
            </ext:ArrayReader>
        </Reader>
        <Listeners>
        <Load Handler="if(this.initialized || !this.withPredefined){#{cbo_RateCard}.setValue(#{cbo_RateCard}.store.getAt(0).get('ID'));#{StoreAdSizePrint}.reload();}; this.initialized = true;" />
        </Listeners>
    </ext:Store>         
    <ext:Store runat="server" 
        ID="StoreAdSizePrint" OnRefreshData="LoadAdDetails">
        <Reader>            
            <ext:ArrayReader ReaderID="ID">              
                <Fields>                
                    <ext:RecordField Name="ID" Type="String"/>
                    <ext:RecordField Name="DropDownDisplay" Type="String" />
                </Fields>            
            </ext:ArrayReader>       
        </Reader>   
        <Listeners>
            <Load Handler="if(this.initialized || !this.withPredefined){#{cboAdSize}.setValue(#{cboAdSize}.store.getAt(0).get('ID'));};this.initialized = true; " />
        </Listeners>
    </ext:Store>  
            <ext:ViewPort ID="ViewPort1" runat="server">
                <Body>
                    <ext:CenterLayout ID="CenterLayout1" runat="server">
                        <ext:Panel ID="PanelProduct" 
                            runat="server" 
                            Title="Centered Panel: 75% of container width and fit height"
                            AutoScroll="true"
                            BodyStyle="padding:20px 0;">                        
                            <CustomConfig>
                                <ext:ConfigItem Name="width" Value="75%" Mode="Value" />
                            </CustomConfig>
                           <Body>                            
                                <ext:FormLayout ID="FormLayoutCampaign" runat="server" LabelAlign="Left" LabelWidth="65" LabelSeparator="">                                                                                                                    
                                    <ext:Anchor>      
                                        <ext:ComboBox ID="cbo_Product" runat="server" 
                                            FireSelectOnLoad="true" 
                                            StoreID="store_Product"
                                            TypeAhead="true" 
                                            Mode="Local" 
                                            ForceSelection="true" 
                                            TriggerAction="All" 
                                            DisplayField="DropDownDisplay"
                                            ValueField="ID" 
                                            EmptyText="Select a Product..."
                                            FieldLabel="Product:" 
                                            Width="400">
                                            <Listeners>
                                                <Select Handler="cbo_RateCard.clearValue();store_RateCard.reload();" />
                                            </Listeners>
                                        </ext:ComboBox>
                                    </ext:Anchor>
                                    <ext:Anchor>
                                        <ext:ComboBox ID="cbo_RateCard" runat="server" 
                                            Width="400" 
                                            StoreID="store_RateCard" 
                                            TypeAhead="true"
                                            Mode="Local" 
                                            ForceSelection="True" 
                                            TriggerAction="All" 
                                            DisplayField="DropDownDisplay" 
                                            FireSelectOnload="True"
                                            ValueField="ID" 
                                            FieldLabel="Rate Card:"
                                            EmptyText="Select a Rate Card...">
                                            <Listeners>
                                                <Select Handler="#{StoreAdSizePrint}.reload();this.initialized = true;" />
                                            </Listeners>
                                        </ext:ComboBox>
                                    </ext:Anchor>                                        
                                     <ext:Anchor>
                                        <ext:ComboBox ID="cboAdSize" runat="server" StoreID="StoreAdSizePrint" FieldLabel="Ad Size" Width="200" DisplayField="DropDownDisplay" ValueField="ID" >
                                        </ext:ComboBox>                                                                    
                                    </ext:Anchor>    
                              </ext:FormLayout>
                            </Body>                        
                       </ext:Panel>
                    </ext:CenterLayout>
               </Body>
            </ext:ViewPort>        
        </div>
        </form>
    </body>
    </html>
     
    Imports Coolite.Ext.Web
    Partial Public Class _Default
        Inherits System.Web.UI.Page
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not Page.IsPostBack Then
                store_Product.CustomConfig.Add(New ConfigItem("withPredefined", "true", ParameterMode.Raw))
                store_RateCard.CustomConfig.Add(New ConfigItem("withPredefined", "true", ParameterMode.Raw))
                SetupAd()
            End If
            If Not Ext.IsAjaxRequest Then
                GetProductList()
            End If
        End Sub
        Public Sub SetupAd()
            'set the selected product and rate card for the drop down lists
            cbo_Product.SelectedItem.Value = 17
            cbo_RateCard.SelectedItem.Value = 172
            StoreAdSizePrint.CustomConfig.Add(New ConfigItem("withPredefined", "true", ParameterMode.Raw))
            cboAdSize.SelectedItem.Value = 1722
        End Sub
        Public Sub GetProductList()
            store_Product.DataSource = New Object() {New Object() {1, "Product 1"}, _
                                                  New Object() {17, "Product 17"}, _
                                                  New Object() {21, "Product 21"}}
            store_Product.DataBind()
        End Sub
        Public Sub LoadRCardList()
            'Refresh rate card data - id,name,isnet,startdate,enddate
            Select Case cbo_Product.SelectedItem.Value  'txtProductID.Text 'product
                Case 1
                    store_RateCard.DataSource = New Object() {New Object() {11, "Product 1 Rate 1", 1}, _
                                                           New Object() {12, "Product 1 Rate 2", 1}}
                Case 17
                    store_RateCard.DataSource = New Object() {New Object() {171, "Product 17 Rate 1", 0}, _
                                                           New Object() {172, "Product 17 Rate 2", 0}}
            End Select
            store_RateCard.DataBind()
        End Sub
        Public Sub LoadAdDetails() 'Ratecard selected
            Select Case cbo_RateCard.SelectedItem.Value  'txtRateCardID.Text
                Case 11
                    StoreAdSizePrint.DataSource = New Object() {New Object() {111, "Rate 11 Size 1"}, _
                                                                New Object() {112, "Rate 11 Size 2"}}
                Case 12
                    StoreAdSizePrint.DataSource = New Object() {New Object() {121, "Rate 12 Size 1"}, _
                                                                New Object() {122, "Rate 12 Size 2"}}
                Case 171
                    StoreAdSizePrint.DataSource = New Object() {New Object() {1711, "Rate 171 Size 1"}, _
                                                                New Object() {1712, "Rate 171 Size 2"}}
                Case 172
                    StoreAdSizePrint.DataSource = New Object() {New Object() {1721, "Rate 172 Size 1"}, _
                                                                New Object() {1722, "Rate 172 Size 2"}}
            End Select
            StoreAdSizePrint.DataBind()
        End Sub
    End Class
    Last edited by Daniil; Dec 17, 2010 at 1:24 PM. Reason: [CLOSED]

Similar Threads

  1. [CLOSED] DropDownField setting value from code-behind
    By kenanhancer in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Dec 15, 2011, 7:29 AM
  2. [CLOSED] Problem setting value iconcombobox in code
    By CarWise in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: May 24, 2011, 3:04 PM
  3. Replies: 2
    Last Post: May 13, 2011, 7:06 AM
  4. [CLOSED] Setting Store OnRefreshData in code behind
    By deejayns in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Dec 02, 2010, 3:30 PM
  5. Code behind setting Title property on portlet fails
    By netwearcdz in forum 1.x Help
    Replies: 3
    Last Post: Jan 15, 2010, 3:36 PM

Posting Permissions