[CLOSED] Get row id in component column with a grid

  1. #1

    [CLOSED] Get row id in component column with a grid

    Hi all,

    I have a grid (call it a "parent grid") with a component column:

                             <ext:ComponentColumn 
                                        runat="server"
                                        Width="120">
                                        <Component>
                                            <ext:DropDownField
                                                runat="server" 
                                                Editable="false" 
                                                Width="300" 
                                                EmptyText="Select me"
                                                TriggerIcon="SimpleArrowDown">
                                                <Listeners>
                                                    <Expand Handler="selectedSropDown=this; this.picker.setWidth(1200);" />
                                                </Listeners>
                                                <Component>
                                                    <ext:GridPanel 
                                                        runat="server" 
                                                        Height="350"
                                                        Title="My test" 
                                                        Frame="true" 
                                                        >
                                                        <Store>
                                                            <ext:Store runat="server">
                                                                <Proxy>
                                                                    <ext:AjaxProxy Url="../Services/MyService.asmx/Matches">
                                                                        <ActionMethods Read="POST" />
                                                                        <Reader>
                                                                            <ext:XmlReader Record="Matches" />
                                                                        </Reader>
                                                                    </ext:AjaxProxy>
                                                                </Proxy>
                                                                <Parameters>
                                                                    <ext:StoreParameter Name="rId" Value="??record.id??" Mode="Raw"/>
                                                                </Parameters>
                                                                <Model>
                                                                    <ext:Model  runat="server">
                                                                        <Fields>
                                                                            <ext:ModelField Name="id"/>
                                                                            <ext:ModelField Name="value"/>                                                                        
                                                                        </Fields>
                                                                    </ext:Model>
                                                                </Model>
                                                            </ext:Store>
                                                        </Store>
                                                        <ColumnModel  runat="server">
                                                            <Columns>
                                                                <ext:Column  runat="server" DataIndex="id" Text="Unique id"  Width="90"/>
                                                                <ext:Column  runat="server" DataIndex="value" Text="value" Width="120"/>                                                           
                                                            </Columns>
                                                        </ColumnModel>
                                                        <View>
                                                            <ext:GridView  runat="server" LoadMask="true" />
                                                        </View>
                                                        <SelectionModel>
                                                            <ext:RowSelectionModel runat="server" Mode="Single" />
                                                        </SelectionModel>
                                                        <Plugins>
                                                            <ext:FilterHeader runat="server"/>
                                                        </Plugins>                                                    
                                                    </ext:GridPanel>
                                                </Component>
                                            </ext:DropDownField>
                                        </Component>
                                    </ext:ComponentColumn>
    I would like to send to a web service a "parent grid" record id as a parameter (??record.id??) and the component grid will have its data based on sent id.
    Is there any way to get it?

    Thank you.
    Last edited by Daniil; Dec 11, 2014 at 7:08 AM. Reason: [CLOSED]
  2. #2
    Hi @rbtceo,

    I can suggest the following approach. Please see the DrowDownField's Expand event handler and the Store's Parameters section.

    Example
    <%@ Page Language="C#" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataSource = new object[] 
                { 
                    new object[] { "id1", "test" },
                    new object[] { "id2", "test" },
                    new object[] { "id3", "test" }
                };
            }
        }
    </script>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <title>Ext.NET v2 Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" SourceFormatting="true" />
    
            <ext:GridPanel ID="GridPanel1" runat="server">
                <Store>
                    <ext:Store runat="server">
                        <Model>
                            <ext:Model runat="server">
                                <Fields>
                                    <ext:ModelField Name="id" />
                                    <ext:ModelField Name="test" />
                                </Fields>
                            </ext:Model>
                        </Model>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column runat="server" Text="ID" DataIndex="id" />
                        <ext:ComponentColumn runat="server" Text="Test" DataIndex="test" Editor="true">
                            <Component>
                                <ext:DropDownField runat="server">
                                    <Component>
                                        <ext:GridPanel runat="server" Width="100">
                                            <Store>
                                                <ext:Store runat="server">
                                                    <Model>
                                                        <ext:Model runat="server">
                                                            <Fields>
                                                                <ext:ModelField Name="test" />
                                                            </Fields>
                                                        </ext:Model>
                                                    </Model>
                                                    <Proxy>
                                                        <ext:AjaxProxy Url="Some URL" />
                                                    </Proxy>
                                                    <Parameters>
                                                        <ext:StoreParameter Name="parentRecordId" Value="this.parentRecordId" Mode="Raw" />
                                                    </Parameters>
                                                </ext:Store>
                                            </Store>
                                            <ColumnModel runat="server">
                                                <Columns>
                                                    <ext:Column runat="server" Text="Test" DataIndex="test" />
                                                </Columns>
                                            </ColumnModel>
                                        </ext:GridPanel>
                                    </Component>
                                    <Listeners>
                                        <Expand Handler="this.component.getStore().parentRecordId = this.record.getId();" />
                                    </Listeners>
                                </ext:DropDownField>
                            </Component>
                        </ext:ComponentColumn>
                    </Columns>
                </ColumnModel>
            </ext:GridPanel>
        </form>
    </body>
    </html>
  3. #3
    Daniil,

    Thank you.

    The thread can be closed.

Similar Threads

  1. [CLOSED] FormPanel, Validation of a Grid's Component Column
    By sisa in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Dec 09, 2014, 2:36 PM
  2. Replies: 2
    Last Post: Aug 21, 2014, 8:55 AM
  3. Replies: 3
    Last Post: Apr 16, 2014, 4:53 PM
  4. Replies: 2
    Last Post: Jun 27, 2013, 10:18 PM
  5. [CLOSED] MVC Grid Component Column
    By adelaney in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: May 11, 2012, 8:00 PM

Tags for this Thread

Posting Permissions