As I do a consultation before rendering a column of a gridPanel.

  1. #1

    As I do a consultation before rendering a column of a gridPanel.

    Good morning,

    Please could help me with the following:

    As I do a consultation before rendering a column of a gridPanel.

    I have a GridPanel three columns, two of which contain in their type components combobox editors, each combobox is named ComboBox1 and ComboBox2. When you load the page, the columns containing type combobox editors render needed to map the fields. The problem arises in that while the column whose editor assigns the ComboBox1 well the other column fields with the publisher ComboBox2 can not map the fields because before to do a query.

    The query is executed by selecting a value in ComboBox1 and assigns it to the SqlDataSource so that it can generate.

    
    <script runat="server">
        protected void stCombo2_ReadData(object sender, Ext.Net.StoreReadDataEventArgs e)
        {
            SqlCombo2.SelectParameters["id1"].DefaultValue = id.Text;
        }
    
    
    </script>
    <!DOCTYPE html>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
        <ext:XScript ID="XScript1" runat="server">
            <script>
                var addEmployee = function () {
                    var grid = #{GridPanel1};
                    grid.editingPlugin.cancelEdit();
    
                    var r = Ext.ModelManager.create({
                       
                    }, 'Employee');
    
                    grid.store.insert(0, r);
                    grid.editingPlugin.startEdit(0, 0);
                };
    
                var AddValue = function()
                {
                   #{ComboBox2}.clearValue(); 
                    App.id.setValue(App.ComboBox1.getValue());
                    #{stCombo2}.reload();
                  
                };
                 
                var ComboboxRenderer = function (value) {
                    
                    var r = App.stCombo1.getById(value);
    
                    if (Ext.isEmpty(r)) {
                        return "";
                    }
    
                    App.id.setValue(r.data.id1);
                    #{stCombo2}.reload();
                 
                    return r.data.Name;
                };
    
                var ComboboxRenderer2 = function (value) {
    
                    var r = App.stCombo2.getById(value);
                    if (Ext.isEmpty(r)) {
                        
                        return "";
                    }
                   
                    return r.data.Name;
                };
                
              
            </script>
        </ext:XScript>
    </head>
    <body>
        <form id="form1" runat="server">
            <ext:ResourceManager ID="ResourceManager1" runat="server" /> 
            <asp:SqlDataSource ID="SqlCombo1" runat="server" ConnectionString="<%$ ConnectionStrings:connSi %>"
                SelectCommand="SELECT id1 , Name FROM Table_1" />
            <asp:SqlDataSource ID="SqlCombo2" runat="server" ConnectionString="<%$ ConnectionStrings:connSi %>"
                SelectCommand="SELECT id2, Name FROM Table_2 WHERE id1 = @id1">
                <SelectParameters>
                    <asp:Parameter Name="id1" DefaultValue="" />
                </SelectParameters>
            </asp:SqlDataSource> 
             <asp:SqlDataSource ID="SqlCombo4" runat="server" ConnectionString="<%$ ConnectionStrings:connSi %>"
                SelectCommand="SELECT id3, id1, id2 FROM Table_3"  /> 
            <ext:Store ID="stCombo1" runat="server" DataSourceID="SqlCombo1" ShowWarningOnFailure="false">
                <Model>
                    <ext:Model ID="Model3" runat="server" IDProperty="id1"
                        Name="Idnombre2">
                        <Fields>
                            <ext:ModelField Name="id1" Mapping="id1" Type="Int" />
                            <ext:ModelField Name="Name" Mapping="Name" Type="String" />
                        </Fields>
                    </ext:Model>
                </Model>
                <Sorters>
                    <ext:DataSorter Property="id1" Direction="ASC" />
                </Sorters>
            </ext:Store> 
            <ext:Store ID="stCombo2" runat="server" DataSourceID="SqlCombo2" ShowWarningOnFailure="false" OnReadData="stCombo2_ReadData">
                <Model>
                    <ext:Model ID="Model2" runat="server" IDProperty="id2"
                        Name="Idnombre">
                        <Fields>
                            <ext:ModelField Name="id2" Mapping="id2" Type="Int" />
                            <ext:ModelField Name="Name" Mapping="Name" Type="String" />
                        </Fields>
                    </ext:Model>
                </Model>
                <Sorters>
                    <ext:DataSorter Property="id2" Direction="ASC" />
                </Sorters>
            </ext:Store>
            <ext:Store ID="Store1" runat="server" DataSourceID="SqlCombo4">
                <Sorters>
                    <ext:DataSorter Property="start" Direction="ASC" />
                </Sorters>
                <Model>
                    <ext:Model ID="Model1" runat="server" Name="Employee">
                        <Fields>
                            <ext:ModelField Name="id3" Mapping="id3" Type="Int" />
                            <ext:ModelField Name="id1" Mapping="id1" Type="Int" > 
                            </ext:ModelField>
                            <ext:ModelField Name="id2" Mapping="id2" Type="Int" />
                        </Fields>
                    </ext:Model>
                </Model>
            </ext:Store> 
            <ext:TextField runat="server" ID="id" />
            <ext:Viewport ID="Viewport1" runat="server" Layout="BorderLayout">
                <Items>
                    <ext:Panel ID="Panel1" runat="server" Layout="FitLayout" Region="Center">
                        <Items>
                            <ext:GridPanel
                                ID="GridPanel1" runat="server" Width="800"
                                Height="400" Frame="true" Title="Employees" StoreID="Store1"> 
                                <Plugins>
                                    <ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false" />
                                </Plugins>
                                <TopBar>
                                    <ext:Toolbar ID="Toolbar1" runat="server">
                                        <Items>
                                            <ext:Button ID="Button1" runat="server" Text="Add Employee" Icon="UserAdd">
                                                <Listeners>
                                                    <Click Fn="addEmployee" />
                                                </Listeners>
                                            </ext:Button>
                                        </Items>
                                    </ext:Toolbar>
                                </TopBar>
                                <View>
                                    <ext:GridView ID="GridView1" runat="server" />
                                </View>
                                <ColumnModel>
                                    <Columns>
                                        <ext:RowNumbererColumn ID="RowNumbererColumn1" runat="server" Width="25" />
                                        <ext:Column ID="Column1" runat="server" Text="id3" DataIndex="id3" Flex="1">
                                            <Editor>
                                                <ext:TextField ID="TextField1" runat="server" AllowBlank="false" />
                                            </Editor>
                                        </ext:Column>
                                        <ext:Column ID="id1" runat="server" Text="Name1" DataIndex="id1" Width="160">
                                           <Renderer Fn="ComboboxRenderer" />
                                             <Editor>
                                                <ext:ComboBox ID="ComboBox1" runat="server" StoreID="stCombo1" DisplayField="Name"
                                                    ValueField="id1">
                                                    <Listeners>
                                                        <Select Handler="AddValue();" />
                                                    </Listeners>
                                                </ext:ComboBox>
                                            </Editor>
                                        </ext:Column>
                                        <ext:Column ID="id2" runat="server" Text="Name2" DataIndex="id2" Width="160">
                                              <Renderer Fn="ComboboxRenderer2" />
                                            <Editor>
                                                <ext:ComboBox ID="ComboBox2" runat="server" StoreID="stCombo2" DisplayField="Name"
                                                    ValueField="id2" />
                                            </Editor>
                                        </ext:Column> 
                                    </Columns>
                                </ColumnModel>
                            </ext:GridPanel>
                        </Items>
                    </ext:Panel>
                </Items>
            </ext:Viewport>
        </form>
    </body>
    </html>
    Last edited by billy; Mar 06, 2013 at 2:53 AM.
  2. #2
    Hi @billy,

    Is the issue actual?

Similar Threads

  1. [CLOSED] Server side custom GridPanel Column rendering
    By FAS in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Feb 24, 2012, 2:45 PM
  2. Replies: 0
    Last Post: Sep 13, 2011, 3:25 PM
  3. Rendering column differently
    By maephisto in forum 1.x Help
    Replies: 1
    Last Post: Apr 13, 2011, 8:20 PM
  4. [CLOSED] Gridpanel second Column data Rendering a Jiberish
    By SymSure in forum 1.x Legacy Premium Help
    Replies: 5
    Last Post: Apr 01, 2010, 5:35 PM
  5. Replies: 3
    Last Post: May 09, 2009, 12:15 PM

Posting Permissions