[CLOSED] Add a object List in Store

  1. #1

    [CLOSED] Add a object List in Store

    Hi, I have the next problem when I want to add a element in the Store, this is my code (You can replicate), I want to add a object list from server side but I don't know how.

            <ext:ResourceManager ID="rmDefault" runat="server" />
    
            <ext:GridPanel
                ID="GridPanel1"
                runat="server"
                Height="200"
                Title="Grupo Alimentos"
                Width="300">
                <TopBar>
                    <ext:Toolbar ID="tbGrupoAlimentos" runat="server">
                        <Items>
                            <ext:Button ID="btnAgregar" runat="server" Text="Agregar">
                                <DirectEvents>
                                    <Click OnEvent="btnAgregar_Click" />
                                </DirectEvents>
                            </ext:Button>
                        </Items>
                    </ext:Toolbar>
                </TopBar>
                <Store>
                    <ext:Store ID="sGrupoAlimento" runat="server">
                        <Model>
                            <ext:Model ID="mGrupoAlimento" runat="server">
                                <Fields>
                                    <ext:ModelField Name="Id" Type="Int" />
                                    <ext:ModelField Name="Nombre" Type="String" />
                                    <ext:ModelField Name="RAlimento" Type="Object" />
                                </Fields>
                            </ext:Model>
                        </Model>
                    </ext:Store>
                </Store>
                <ColumnModel>
                    <Columns>
                        <ext:Column ID="cId" runat="server" Text="Id" DataIndex="Id" Width="50" />
                        <ext:Column ID="cNombre" runat="server" Text="Nombre" DataIndex="Nombre" Width="248" />
                    </Columns>
                </ColumnModel>
            </ext:GridPanel>
            protected void Page_Load(object sender, EventArgs e)
            {
                sGrupoAlimento.DataSource = Datos();
                sGrupoAlimento.DataBind();
            }
    
            protected void btnAgregar_Click(object sender, DirectEventArgs e)
            {
                GrupoAlimentos oGrupoAlimentos = Datos()[0];
                oGrupoAlimentos.Id = 2;
                oGrupoAlimentos.Nombre = "PECHUGA DE PAVO";
                //This part of code is the error
                X.Js.AddScript("App.sGrupoAlimento.add({ Id: " + oGrupoAlimentos.Id + ", Nombre: '" + oGrupoAlimentos.Nombre + "', RAlimento: " + oGrupoAlimentos.RAlimento + " });");
            }
    
            private List<GrupoAlimentos> Datos()
            {
                List<Alimento> lAlimento = new List<Alimento>();
                List<GrupoAlimentos> lGrupoAlimento = new List<GrupoAlimentos>();
    
                GrupoAlimentos oGrupoAlimentos = new GrupoAlimentos();
                oGrupoAlimentos.Id = 1;
                oGrupoAlimentos.Nombre = "PECHUGA DE POLLO";
    
                for (int i = 0; i < 5; i++)
                {
                    Alimento oAlimento = new Alimento();
                    oAlimento.Id = i;
                    oAlimento.Nombre = "Nombre " + i;
                    oAlimento.Marca = "Marca " + i;
                    oAlimento.Cantidad = i;
                    oAlimento.UnidadMedida = "kg";
                    oAlimento.RGrupoAlimentos = oGrupoAlimentos;
    
                    lAlimento.Add(oAlimento);
                }
    
                oGrupoAlimentos.RAlimento = lAlimento;
    
                lGrupoAlimento.Add(oGrupoAlimentos);
    
                return lGrupoAlimento;
            }
    I need the list (RAlimento) to make others things.
    Last edited by Baidaly; Nov 25, 2013 at 10:46 PM. Reason: [CLOSED]
  2. #2
    Hi @osef,

    You can use a Store's Add server side method.

    Example
    <%@ Page Language="C#" %>
     
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataSource = new object[] 
                { 
                    new { test1 = "test", test2 = "test" }
                };
            }
        }
    
        protected void Add(object sender, DirectEventArgs e)
        {
            Store store = this.GridPanel1.GetStore();
    
            store.Add(new { test1 = "new", test2 = "new" });
        }
    </script>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <title>Ext.NET v2 Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
    
            <ext:Button runat="server" Text="Add" OnDirectClick="Add" />
    
            <ext:GridPanel ID="GridPanel1" runat="server">
                <Store>
                    <ext:Store runat="server">
                        <Model>
                            <ext:Model runat="server">
                                <Fields>
                                    <ext:ModelField Name="test1" />
                                    <ext:ModelField Name="test2" />
                                </Fields>
                            </ext:Model>
                        </Model>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column runat="server" Text="Test 1" DataIndex="test1" />
                        <ext:Column runat="server" Text="Test 2" DataIndex="test2" />
                    </Columns>
                </ColumnModel>
            </ext:GridPanel>        
        </form>
    </body>
    </html>
  3. #3
    Quote Originally Posted by Daniil View Post
    Hi @osef,

    You can use a Store's Add server side method.

    Example
    <%@ Page Language="C#" %>
     
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataSource = new object[] 
                { 
                    new { test1 = "test", test2 = "test" }
                };
            }
        }
    
        protected void Add(object sender, DirectEventArgs e)
        {
            Store store = this.GridPanel1.GetStore();
    
            store.Add(new { test1 = "new", test2 = "new" });
        }
    </script>
    
    <!DOCTYPE html>
    
    <html>
    <head runat="server">
        <title>Ext.NET v2 Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
    
            <ext:Button runat="server" Text="Add" OnDirectClick="Add" />
    
            <ext:GridPanel ID="GridPanel1" runat="server">
                <Store>
                    <ext:Store runat="server">
                        <Model>
                            <ext:Model runat="server">
                                <Fields>
                                    <ext:ModelField Name="test1" />
                                    <ext:ModelField Name="test2" />
                                </Fields>
                            </ext:Model>
                        </Model>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column runat="server" Text="Test 1" DataIndex="test1" />
                        <ext:Column runat="server" Text="Test 2" DataIndex="test2" />
                    </Columns>
                </ColumnModel>
            </ext:GridPanel>        
        </form>
    </body>
    </html>
    Thank you Daniil

Similar Threads

  1. [CLOSED] Convert Data from Store to object data list
    By Zenalyse in forum 2.x Legacy Premium Help
    Replies: 3
    Last Post: Apr 30, 2013, 6:13 AM
  2. fill my store from a list of object.
    By DEV_EXT_TN in forum 2.x Help
    Replies: 0
    Last Post: Aug 01, 2012, 11:54 AM
  3. How to change List<object> to SqlDataSource
    By Aod47 in forum 1.x Help
    Replies: 0
    Last Post: May 25, 2012, 2:16 AM
  4. Replies: 0
    Last Post: Oct 21, 2011, 3:04 AM
  5. store charge from a list object
    By danilo in forum 1.x Help
    Replies: 1
    Last Post: Jul 08, 2011, 4:03 AM

Tags for this Thread

Posting Permissions