Not trigger the event when the record has not been modified in RowEditing

  1. #1

    Not trigger the event when the record has not been modified in RowEditing

    Can not trigger the event when the record has not been modified in RowEditing as above RowEditor (Ext.net 1.5) because it generates cost to go to the database.

    Ext.net 2.0

    Click image for larger version. 

Name:	Imagen A.jpg 
Views:	87 
Size:	61.3 KB 
ID:	5117Click image for larger version. 

Name:	Imagen B.jpg 
Views:	94 
Size:	79.0 KB 
ID:	5118

    
    <%@ Import Namespace="System.Collections.ObjectModel" %>
    <%@ Import Namespace="System.Collections.Generic" %>
    
    <%@ 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 List<object>
                {
                    new { 
                        Name = "Bill Foot", 
                        Email = "bill.foot@object.net", 
                        Start = new DateTime(2007, 2, 5), 
                        Salary = 37000, 
                        Active = true
                    },
                    new { 
                        Name = "Bill Little", 
                        Email = "bill.little@object.net", 
                        Start = new DateTime(2009, 6, 13), 
                        Salary = 53000, 
                        Active = true
                    },
                    new { 
                        Name = "Bob Jones", 
                        Email = "bob.jones@object.net", 
                        Start = new DateTime(2008, 10, 6), 
                        Salary = 70000, 
                        Active = true
                    },
                    new { 
                        Name = "Bob Train", 
                        Email = "bob.train@object.net", 
                        Start = new DateTime(2009, 5, 5), 
                        Salary = 68000, 
                        Active = true
                    },
                    new { 
                        Name = "Chris Johnson", 
                        Email = "chris.johnson@object.net", 
                        Start = new DateTime(2009, 1, 25), 
                        Salary = 47000, 
                        Active = true
                    }
                };
                
                store.DataBind();
            }
        }
    
        public void Insert(object sender, DirectEventArgs e)
        {
            Noti("Save");
        }
    
        protected void Noti(string Value)
        {
            Notification.Show(new NotificationConfig
            {
                Title = "Title",
                Icon = Icon.Information,
                Height = 150,
                Width = 300,
                BodyStyle = "padding:10px",
                Html = Value,
                ShowPin = true,
                Pinned = true,
                ShowFx = new SlideIn { Anchor = AnchorPoint.Right },
                HideFx = new SlideOut { Anchor = AnchorPoint.Right }
            });
        }
        
    </script>
    
    <!DOCTYPE html>
        
    <html>
    <head id="Head1" runat="server">
        <title>GridPanel with RowEditor Plugin - Ext.NET Examples</title>
        <link href="/resources/css/examples.css" rel="stylesheet" />
        
        <ext:XScript ID="XScript1" runat="server">
            <script>
                var addEmployee = function () {
                    var grid = #{GridPanel1};
                    grid.editingPlugin.cancelEdit();
    
                    // Create a record instance through the ModelManager
                    var r = Ext.ModelManager.create({
                        name: 'New Guy',
                        email: 'new@object.net',
                        start: Ext.Date.clearTime(new Date()),
                        salary: 50000,
                        active: true
                    }, 'Employee');
    
                    grid.store.insert(0, r);
                    grid.editingPlugin.startEdit(0, 0);
                };
                
                var removeEmployee = function () {
                    var grid = #{GridPanel1},
                        sm = grid.getSelectionModel();
    
                    grid.editingPlugin.cancelEdit();
                    grid.store.remove(sm.getSelection());
                    if (grid.store.getCount() > 0) {
                        sm.select(0);
                    }
                };
            </script>
        </ext:XScript>
    </head>
    <body>
        <form id="Form1" runat="server">
            <ext:ResourceManager ID="ResourceManager1" runat="server" />
            
            <h1>GridPanel with RowEditor Plugin</h1>
            
            <ext:GridPanel 
                ID="GridPanel1" 
                runat="server"
                Width="600"
                Height="400"
                Frame="true"
                Title="Employees">
                <Store>
                    <ext:Store ID="Store1" runat="server">
                        <Sorters>
                            <ext:DataSorter Property="start" Direction="ASC" />
                        </Sorters>
                        <Model>
                            <ext:Model ID="Model1" runat="server" Name="Employee">
                                <Fields>
                                    <ext:ModelField Name="name" Mapping="Name" Type="String" />
                                    <ext:ModelField Name="email" Mapping="Email" Type="String" />
                                    <ext:ModelField Name="start" Mapping="Start" Type="Date" />
                                    <ext:ModelField Name="salary" Mapping="Salary" Type="Float" />
                                    <ext:ModelField Name="active" Mapping="Active" Type="Boolean" />
                                </Fields>
                            </ext:Model>
                        </Model>
                    </ext:Store>
                </Store>
                <Plugins>
                    <ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false"  >
                        <DirectEvents>
                            <Edit OnEvent="Insert" />
                        </DirectEvents>
                    </ext:RowEditing>
                </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>
                            <ext:Button ID="btnRemoveEmployee" runat="server" Text="Remove Employee" Icon="UserDelete" Disabled="true">
                                <Listeners>
                                    <Click Fn="removeEmployee" />
                                </Listeners>
                            </ext:Button>
                        </Items>
                    </ext:Toolbar>
                </TopBar>            
                <ColumnModel>
                    <Columns>
                        <ext:RowNumbererColumn ID="RowNumbererColumn1" runat="server" Width="25" />
                        <ext:Column ID="Column1" runat="server"                         
                            Text="Name" 
                            DataIndex="name" 
                            Flex="1">
                            <Editor>
                                <ext:TextField ID="TextField1" runat="server" AllowBlank="false" />
                            </Editor>
                        </ext:Column>
                        <ext:Column ID="Column2" runat="server" Text="Email" DataIndex="email" Width="160">
                            <Editor>
                                <ext:TextField ID="TextField2" runat="server" AllowBlank="false" Vtype="email" />
                            </Editor>
                        </ext:Column>
                        <ext:DateColumn ID="DateColumn1" runat="server" 
                            Text="Start Date" 
                            DataIndex="start" 
                            Format="MM/dd/yyyy" 
                            Width="100">
                            <Editor>
                                <ext:DateField ID="DateField1" 
                                    runat="server" 
                                    AllowBlank="false" 
                                    Format="MM/dd/yyyy"
                                    MinDate="01.01.2006" 
                                    MinText="Can not have a start date before the Company existed." 
                                    MaxDate="<%# DateTime.Now %>"
                                    AutoDataBind="true"
                                    />
                            </Editor>
                        </ext:DateColumn>
                        <ext:NumberColumn ID="NumberColumn1"
                            runat="server"
                            Text="Salary" 
                            DataIndex="salary" 
                            Format="$0,0">
                            <Editor>
                                <ext:NumberField ID="NumberField1" 
                                    runat="server" 
                                    AllowBlank="false" 
                                    MinValue="1" 
                                    MaxValue="150000" 
                                    />
                            </Editor>
                        </ext:NumberColumn>
                        <ext:CheckColumn ID="CheckColumn1"
                            runat="server"
                            Text="Active?" 
                            DataIndex="active"                         
                            Width="50">
                            <Editor>
                                <ext:Checkbox ID="Checkbox1" runat="server" Cls="x-grid-checkheader-editor" />
                            </Editor>
                        </ext:CheckColumn>
                    </Columns>
                </ColumnModel>
                <Listeners>
                    <SelectionChange Handler="#{btnRemoveEmployee}.setDisabled(!selected.length);" />
                </Listeners>
            </ext:GridPanel>
        </form>  
    </body>
    </html>
  2. #2
    Hello!

    Try this:

    <ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false">
    	<DirectEvents>
    		<Edit OnEvent="Insert" Before="return e.record.dirty;" />
    	</DirectEvents>
    </ext:RowEditing>
  3. #3
    Quote Originally Posted by Baidaly View Post
    Hello!

    Try this:

    <ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false">
    	<DirectEvents>
    		<Edit OnEvent="Insert" Before="return e.record.dirty;" />
    	</DirectEvents>
    </ext:RowEditing>
    Thank you very much for your time is what I needed.

Similar Threads

  1. Replies: 1
    Last Post: Nov 05, 2012, 8:38 AM
  2. Trigger click event on Slider field
    By Birgit in forum 1.x Help
    Replies: 2
    Last Post: Feb 29, 2012, 7:22 AM
  3. how to trigger disabled dates from ajax event?
    By nixjojo in forum 1.x Help
    Replies: 1
    Last Post: Nov 09, 2010, 3:41 PM
  4. [CLOSED] Modified records in store get purged prior to BeforeLoad event
    By Mark.Cooke in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Sep 20, 2010, 7:08 PM
  5. Trigger store refresh event
    By dan182 in forum 1.x Help
    Replies: 4
    Last Post: Jun 23, 2010, 2:09 PM

Posting Permissions