Lock row for block another user to edit ?

  1. #1

    Lock row for block another user to edit ?

    First, thank you for "Ext.net".

    I have a GridPanel. When user click on 'view' button on each row. It open 'Form' that has a
    'edit' button. When user click on edit button then they can modify any field in form.

    I need a program lock record or row for block another user to edit form at the same time.
    I tried.

    var editForm = function() {
      if(GridPanel1.selModel.isLocked()){
         alert("Record has been locked by another user!");
         return true;
      }else {
         GridPanel1.getSelectionModel().lock();
         DeleteButton.show();
         SaveButton.show();
         CancelButton.show();
         FormPanel1.cascade(enableForm, false, true);
         this.hide();  // this --> editButton 
      }
    }
    but GridPanel1 has locked all row (I need lock on one row)

    Thank agian and sorry for poor English.
  2. #2
    Hi,

    You can lock a record on its "record" level.
    record.data.locked = true/false;
  3. #3

    Hi,

    I add filed "RecordLocked" to table. and use

    var editForm = function(){
      if (GridPanel1.selModel.getSelected().data.RecordLocked) {
         alert('Record has been locked = true');
         return true;
      } else {
         alert('Record has been locked = false');
         // need some command update table to set value of field 'RecordLocked' = true 
      }
    }
    Could you please show me.

    Thank a lot
  4. #4
    Where does you lock a record?

    And is a row selected when you click on the "Edit" button?

    Could you please show me.
    Not sure how your scenario looks and what I should demonstrate.

    Please clarify the following:
    Quote Originally Posted by Aod47 View Post
    I need a program lock record or row for block another user to edit form at the same time.
    What is another user? A common "another user" when an application is accessed via Web?

    Then you should lock a record on data layer (database, etc.).
  5. #5

    Sir,

    another user -- I mean 'admin user' who have right to edit form/record.


    I place demo page at http://www.k-library.net/ccg/accessgrid.aspx

    and this is source http://www.k-library.net/ccg/accessgrid.aspx.txt

    thank for your help.
    Last edited by Aod47; Nov 28, 2011 at 11:29 AM.
  6. #6
    Hope the following example helps you.

    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)
            {
                this.Store1.DataSource = new object[] 
                { 
                    new object[] { "not locked" },
                    new object[] { "locked" },
                    new object[] { "not locked" }
                };
                this.Store1.DataBind();
            }
        }
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
            <ext:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
                <Store>
                    <ext:Store ID="Store1" runat="server">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="test" />
                                    <ext:RecordField Name="locked" Type="Boolean" DefaultValue="false" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column Header="Editable" DataIndex="test">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Locked" DataIndex="locked" />
                        <ext:ImageCommandColumn>
                            <Commands>
                                <ext:ImageCommand 
                                    CommandName="toggleLock" 
                                    Icon="ShapeShadowToggle" 
                                    Text="Toggle lock" />
                            </Commands>
                        </ext:ImageCommandColumn>
                    </Columns>
                </ColumnModel>
                <Listeners>
                    <Command Handler="if (command === 'toggleLock') {
                                          record.set('locked', !record.data.locked);
                                      }" />
                    <BeforeEdit Handler="return !e.record.data.locked;" />
                </Listeners>
            </ext:GridPanel>
        </form>
    </body>
    </html>
  7. #7

    Thank you Sir,

    I will try to adapt.


    and where can I read about "record.set" ,"record.data"
  8. #8

Similar Threads

  1. Replies: 1
    Last Post: Mar 22, 2012, 10:36 AM
  2. Edit store record when user clicks on the row
    By Mr.Techno in forum 1.x Help
    Replies: 6
    Last Post: Aug 29, 2011, 1:40 PM
  3. TabPanel problem, little block in or above tabs
    By beklever in forum 1.x Help
    Replies: 2
    Last Post: Jan 06, 2011, 9:06 AM
  4. [CLOSED] Block navigation with browser's back & forward button
    By RomualdAwessou in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Nov 08, 2010, 3:35 PM
  5. Code block in XScript
    By wazige in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Apr 23, 2010, 8:37 AM

Tags for this Thread

Posting Permissions