Deleting record from Grid is not working

  1. #1

    Deleting record from Grid is not working


    Hi,

    I have a grind. See below.

    Everthing(add/update) has been working but deleting.

    Could you please check it. Maybe I am overlooking something very simple? See the attachment as well.

    In the .ascx file

    
    <ext:ScriptManager ID="ScriptManager1" runat="server" />
      
            <ext:Store 
            ID="Store1"  
            runat="server"  
            AutoLoad="true" 
            RemoteSort="true" 
            OnRefreshData="Store1_RefreshData"
            OnBeforeStoreChanged="SaveHandler"
            
            >
                <Proxy>
                    <ext:DataSourceProxy />
                </Proxy>
                <Reader>
                    <ext:JsonReader ReaderID="ID">
                        <Fields>
                            
                            <%--dummy field for line number--%>
                            <ext:RecordField Name="RowNumber"  Type="Int" />
                            <ext:RecordField Name="ID"  Type="Int" SortType="AsInt" />
                            <ext:RecordField Name="Name"  Type="String" />
                            <ext:RecordField Name="Title"  Type="String" />
                            <ext:RecordField Name="UserControlName"  Type="String"/>
                            <%--<ext:RecordField Name="Details"  Type="String" />--%>
                            <ext:RecordField Name="Details"  Type="String" />
                            
                        </Fields>
                    </ext:JsonReader>
                </Reader>
                
                <AutoLoadParams>
                    <ext:Parameter Name="start" Value="0" Mode="Raw" />
                    <ext:Parameter Name="limit" Value="15" Mode="Raw" />
                </AutoLoadParams>
                
                <SortInfo Field="Name" Direction="ASC" />
                
                <Listeners> 
                    <LoadException Handler="Ext.MessageBox.alert('Load failed', response.statusText);" />                            
                </Listeners>
    
            </ext:Store>
        
            <ext:GridPanel  
                runat="server" 
                ID="GridPanel1" 
                Height="570" 
                Title="Modules" 
                Frame="true"   
                StoreID="Store1">
                
                <ColumnModel ID="ColumnModel1" runat="server">
                    <Columns>
                       
                        <ext:RowNumbererColumn />
                        <ext:Column ColumnID="ID" DataIndex="ID" Header="Module ID"  Width="75" />
                        <ext:Column DataIndex="Name" Header="Module Name"  Width="150">
                            <Editor>
                                <ext:TextField ID="txtName" runat="server">
                                </ext:TextField>
                            </Editor>                    
                        </ext:Column>
                        
                        <ext:Column DataIndex="Title" Header="Module Title"  Width="150" >
                       <Editor>
                                <ext:TextField ID="txtTitle" runat="server">
                                </ext:TextField>
                        </Editor>                      
                        </ext:Column>
                        <ext:Column DataIndex="UserControlName" Header="User Control Name"  Width="150">
                           <Editor>
                                    <ext:TextField ID="txtUserControlName" runat="server">
                                    </ext:TextField>
                            </Editor> 
                        </ext:Column>
    
    
                        
                        <ext:Column  
                            ColumnID="Details" 
                            Header="Details" 
                            Width="50" 
                            Align="Center" 
                            Fixed="true" 
                            MenuDisabled="true" 
                            Resizable="false">
                            
                            <Renderer Fn="moduleDetailsRender" />                    
                        </ext:Column>
    
    
    
                    </Columns>
                </ColumnModel>    
                
                <LoadMask ShowMask="true" />
                <SaveMask ShowMask="true" />
                
                <%--Add/save record buttons--%>
                
                <TopBar>
                   <ext:Toolbar ID="Toolbar1" runat="server">
                        <Items>                        
                            <ext:Button ID="Button1" runat="server" Text="Add record" Icon="Add">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.insertRecord(0,{});" />
                                </Listeners>
                            </ext:Button>
                            <ext:Button ID="Button2" runat="server" Text="Delete selected" Icon="Delete">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.deleteSelected(); #{GridPanel1}.store.load(#{GridPanel1}.store.lastOptions);" />
                                    <%--<Click Handler="#{GridPanel1}.deleteSelected();" />--%>
                                </Listeners>
                            </ext:Button>            
                            <ext:ToolbarFill ID="ToolbarFill1" runat="server" />            
                            <ext:Button ID="Button6" runat="server"  Text="Save" Icon="Disk">
                                <Listeners>
                                    <Click Handler="#{GridPanel1}.save(); " />
                                </Listeners>
                            </ext:Button>
                        </Items>
                    </ext:Toolbar> 
                </TopBar>            
                
                
                <%--Pagging--%>
                <BottomBar>
                    <ext:PagingToolBar ID="PagingToolBar1" runat="server" 
                        PageSize="15" 
                        DisplayInfo="true"
                        DisplayMsg="Displaying modules {0} - {1} of {2}"
                        EmptyMsg="No modules to display"                
                        />
                </BottomBar>
                
                <Listeners>
                    <CellClick Fn="cellClick" />
                    <%--<Command Fn="cellClick" />--%>
                </Listeners> 
                            
                
    
                 <AjaxEvents>
                    <CellClick OnEvent="ShowDetails" Failure="Ext.MessageBox.alert('Load failed', 'Error during ajax event!');">
                        
                        <EventMask ShowMask="true" Target="CustomTarget" CustomTarget="={#{GridPanel1}.body}" />
                        
                        <ExtraParams>
                            <ext:Parameter Name="id" Value="params[0].getStore().getAt(params[1]).id" Mode="Raw" />
                            <ext:Parameter Name="recordID" Value="params[0].getStore().getAt(params[1]).data['ID']" Mode="Raw" />
                        </ExtraParams>
                        
                    </CellClick>
                </AjaxEvents>
                
    <%--            <Listeners>
                    <Command Handler="Ext.Msg.alert('Command', 'Command = '+ command + '<br/>'+ 'Column = ' + this.getColumnModel().getDataIndex(colIndex));" />
                </Listeners>
    --%>
            </ext:GridPanel>   
            
            <uc1:WindowEditor ID="WindowEditor1" runat="server" />

            protected void SaveHandler(object sender, BeforeStoreChangedEventArgs e)
            {
    
                ChangeRecords<GridRecord> data = e.DataHandler.ObjectData<GridRecord>();
    
                using (testEntities db = new testEntities())
                {
                    foreach (GridRecord t in data.Created)
                    {
                        //If Module name is not null
                        if (t.Name!="")
                        {
                            Modules record = new Modules();
                            record.Name = t.Name;
                            record.Title = t.Title;
                            record.UserControlName = t.UserControlName;
                            
                            db.AddToModules(record);
                        }
                    }
    
                    foreach (GridRecord t in data.Updated)
                    {
                        Modules md = (from mt in db.Modules
                                          where mt.ID == t.ID
                                          select mt).First();
    
                        md.Name = t.Name;
                        md.Title = t.Title;
                        md.UserControlName = t.UserControlName;
    
                    }
    
    
                    foreach (GridRecord t in data.Deleted)
                    {
                        
                        Modules md = (from mt in db.Modules
                                              where mt.ID == t.ID
                                              select mt).First();
                        db.DeleteObject(md);
                         
                    }
                    //Save all changes
                    db.SaveChanges();
    
                }
            }


    Thank you in advance.

  2. #2

    RE: Deleting record from Grid is not working

    I found the problem

    <SelectionModel>
    <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true" />
    </SelectionModel>


Similar Threads

  1. Replies: 1
    Last Post: Apr 22, 2012, 3:17 PM
  2. Replies: 5
    Last Post: Feb 23, 2012, 8:00 AM
  3. Replies: 1
    Last Post: Sep 08, 2011, 12:24 PM
  4. Replies: 3
    Last Post: Feb 18, 2011, 2:18 PM
  5. How to set Grid record dirty?
    By speddi in forum 1.x Help
    Replies: 0
    Last Post: Jul 16, 2010, 8:47 PM

Posting Permissions