Add record to store

  1. #1

    Add record to store



    How can I add records manually to a store? I have the following markup

        <ext:Store ID="storeHorarios" runat="server">
            <Reader>
                <ext:JsonReader ReaderID="IdHorario">
                    <Fields>
                        <ext:RecordField Name="IdHorario">
                        </ext:RecordField>
                        <ext:RecordField Name="Nombre">
                        </ext:RecordField>
                        <ext:RecordField Name="Aula">
                        </ext:RecordField>
                        <ext:RecordField Name="Activo" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="Lunes" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="Martes" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="Miercoles" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="Jueves" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="Viernes" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="Sabado" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="Domingo" Type="Boolean">
                        </ext:RecordField>
                        <ext:RecordField Name="HoraInicio" Type="Date">
                        </ext:RecordField>
                        <ext:RecordField Name="HoraFin" Type="Date">
                        </ext:RecordField>
                    </Fields>
                </ext:JsonReader>
            </Reader>
        </ext:Store>
    
                                <ext:FormLayout ID="formLayHorarios" runat="server">
                                    <Anchors>
                                        <ext:Anchor Horizontal="100%">
                                            <ext:GridPanel ID="gridHorarios" runat="server" StoreID="storeHorarios" Height="150">
                                                <ColumnModel>
                                                    <Columns>
                                                        <ext:Column DataIndex="IdHorario" Hidden="true">
                                                        </ext:Column>
                                                        <ext:Column DataIndex="Nombre" Header="Nombre Horario" />
                                                        <ext:Column DataIndex="Aula" Header="Aula" />
                                                        <ext:CheckColumn DataIndex="Activo" Header="Activo" />
                                                    </Columns>
                                                </ColumnModel>
                                                <Buttons>
                                                    <ext:Button ID="btnEditarHorario" runat="server" Text="Editar">
                                                    </ext:Button>
                                                </Buttons>
                                                <SelectionModel>
                                                    <ext:RowSelectionModel SingleSelect="true">
                                                    </ext:RowSelectionModel>
                                                </SelectionModel>
                                            </ext:GridPanel>
                                        </ext:Anchor>
                                        <ext:Anchor Horizontal="100%">
                                            <ext:TextField ID="txtNombreHorario" runat="server" FieldLabel="Nombre" Note="Horario A, Horario Noche, etc">
                                            </ext:TextField>
                                        </ext:Anchor>
                                        <ext:Anchor Horizontal="100%">
                                            <ext:TextField ID="txtAula" runat="server" FieldLabel="Aula" Note="Aula A, Aula Principal, etc">
                                            </ext:TextField>
                                        </ext:Anchor>
                                        <ext:Anchor>
                                            <ext:Checkbox ID="chkHorarioActivo" runat="server" FieldLabel="Activo">
                                            </ext:Checkbox>
                                        </ext:Anchor>
                                        <ext:Anchor Horizontal="100%">
                                            <ext:CheckboxGroup ID="chkGroupDias" runat="server" ColumnsNumber="2" FieldLabel="Días">
                                                <Items>
                                                    <ext:Checkbox runat="server" BoxLabel="Lunes" ID="chkLunes">
                                                    </ext:Checkbox>
                                                    <ext:Checkbox runat="server" BoxLabel="Martes" ID="chkMartes">
                                                    </ext:Checkbox>
                                                    <ext:Checkbox runat="server" BoxLabel="Miércoles" ID="chkMiércoles">
                                                    </ext:Checkbox>
                                                    <ext:Checkbox runat="server" BoxLabel="Jueves" ID="chkJueves">
                                                    </ext:Checkbox>
                                                    <ext:Checkbox runat="server" BoxLabel="Viernes" ID="chkViernes">
                                                    </ext:Checkbox>
                                                    <ext:Checkbox runat="server" BoxLabel="Sábado" ID="chkSábado">
                                                    </ext:Checkbox>
                                                    <ext:Checkbox runat="server" BoxLabel="Domingo" ID="chkDomingo">
                                                    </ext:Checkbox>
                                                </Items>
                                            </ext:CheckboxGroup>
                                        </ext:Anchor>
                                        <ext:Anchor>
                                            <ext:TimeField ID="timeHoraInicio" runat="server" FieldLabel="Hora Inicio">
                                            </ext:TimeField>
                                        </ext:Anchor>
                                        <ext:Anchor>
                                            <ext:TimeField ID="timeHoraFin" runat="server" FieldLabel="Hora Fin">
                                            </ext:TimeField>
                                        </ext:Anchor>
                                    </Anchors>
                                </ext:FormLayout>
    <ext:Button ID="btnAgregarHorario" runat="server" Text="Agregar">
                                    <AjaxEvents>
                                        <Click OnEvent="btnAgregarHorario_Click">
                                        </Click>
                                    </AjaxEvents>
                                </ext:Button>
    And the codebehind:

    protected void btnAgregarHorario_Click(object sender, EventArgs e)
            {
                InsertarRegistroStoreHorarios(0, txtNombreHorario.Text, txtAula.Text, chkHorarioActivo.Checked, chkLunes.Checked, chkMartes.Checked, chkMiercoles.Checked, chkJueves.Checked, chkViernes.Checked, chkSabado.Checked, chkDomingo.Checked, timeHoraInicio.Value, timeHoraFin.Value);
            }
    
    private void InsertarRegistroStoreHorarios(params object[] valores)
            {
                if (valores != null &amp;&amp; valores.GetLength(0) > 0)
                {
                    IDictionary<string, string> registro = new Dictionary<string, string>();
                    registro.Add("IdHorario", valores[0].ToString());
                    registro.Add("Nombre", valores[1].ToString());
                    registro.Add("Aula", valores[2].ToString());
                    registro.Add("Activo", valores[3].ToString());
                    registro.Add("Lunes", valores[4].ToString());
                    registro.Add("Martes", valores[5].ToString());
                    registro.Add("Miercoles", valores[6].ToString());
                    registro.Add("Jueves", valores[7].ToString());
                    registro.Add("Viernes", valores[8].ToString());
                    registro.Add("Sabado", valores[9].ToString());
                    registro.Add("Domingo", valores[10].ToString());
                    registro.Add("HoraInicio", valores[11].ToString());
                    registro.Add("HoraFin", valores[12].ToString());
    
    
                    storeHorarios.AddRecord(registro);
                    storeHorarios.DataBind();
                }
            }
    "registro" has the correct values (image attached), no error is thrown and it runs all the code including the databind, but the gridPanel doesn't show the record inserted.

  2. #2

    RE: Add record to store

    Hi,

    Try to remove 'storeHorarios.DataBind();'
  3. #3

    RE: Add record to store



    Hi vladsh,

    I removed the line but 2 things hapenned, the first row was inserted correctly but with red marks on the corner of the cell, and when I trie to insert a second record throws an error.
  4. #4

    RE: Add record to store

    Hi,

    1. Red triangles it is correct because you add new record. You can locally commit changes to remove red triangles. Add the following string after 'AddRecord'


    storeHorarios.CommitChanges();

    2. Do you try to add second record with same id as first record?
  5. #5

    RE: Add record to store

    Hi vladimir,

    Thanks for the reply, it works correctly now.

Similar Threads

  1. how to get record from store?
    By richard in forum 2.x Help
    Replies: 4
    Last Post: Mar 15, 2012, 7:37 AM
  2. Replies: 1
    Last Post: Dec 22, 2011, 6:17 AM
  3. Replies: 16
    Last Post: May 26, 2011, 10:23 PM
  4. [CLOSED] Store.remove(record) and Store.reload()
    By capecod in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Nov 08, 2010, 10:03 AM
  5. [CLOSED] Adding a new Store Record - Not a Record object
    By Steve in forum 1.x Legacy Premium Help
    Replies: 5
    Last Post: May 15, 2009, 7:40 AM

Posting Permissions