[CLOSED] Select a Row from GridPanel in DirectMethod

  1. #1

    [CLOSED] Select a Row from GridPanel in DirectMethod

    Hi,
    so, after upgrading my user to premium, this is my first question ;-)

    Is is possible like the commit to select a row / or multiple rows after new binding
    from code behind.

    Something like this:

    [DirectMethod(Namespace = "CompanyX")]
    public void AfterEdit(String Name)
    {
           Store store = this.GPanel.GetStore();
    
           data.Add(Name);
           ....
           data.Add(Name+Name);
    
           data.Sort(delegate(SampleClass p1, SampleClass p2) { return p1.name.CompareTo(p2.name); });
           store.DataSource = data;
           store.DataBind();
    
    
            this.GPanel.Store.Primary.CommitChanges();
    
            // SELECT THE NEW ADDED ROWS
    
    }
    Last edited by Daniil; Nov 10, 2010 at 10:52 AM. Reason: [CLOSED]
  2. #2
    Hi,

    Welcome to the Premium support:)

    There is big server API to select rows. I used the SelectRange() method. Intellisense will show you others.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        private List<object> MyData = new List<object>()
        {
            new { test="test1" },
            new { test="test2" },
            new { test="test3" }
        };
    
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!X.IsAjaxRequest)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataSource = MyData;
                store.DataBind();
                this.Session["MyData"] = MyData;
            }
        }
    
        [DirectMethod]
        public void DataBindAndSelect()
        {
            var myData = this.Session["MyData"] as List<object>;
    
            myData.Add(new { test = "test" + Guid.NewGuid().ToString() });
            myData.Add(new { test = "test" + Guid.NewGuid().ToString() });
            
            Store store = this.GridPanel1.GetStore();
            store.DataSource = myData;
            store.DataBind();
            this.Session["MyData"] = myData;
    
            int count = myData.Count;
            var selModel = this.GridPanel1.GetSelectionModel() as RowSelectionModel;
            selModel.SelectRange(count - 2, count - 1);
        }
    </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 runat="server">
                    <Reader>
                        <ext:JsonReader>
                            <Fields>
                                <ext:RecordField Name="test" />
                            </Fields>
                        </ext:JsonReader>
                    </Reader>
                </ext:Store>
            </Store>
            <ColumnModel runat="server">
                <Columns>
                    <ext:Column Header="Test1" DataIndex="test" />
                </Columns>
            </ColumnModel>
            <SelectionModel>
                <ext:RowSelectionModel runat="server" />
            </SelectionModel>
        </ext:GridPanel>
        <ext:Button runat="server" Text="DataBind and Select">
            <Listeners>
                <Click Handler="Ext.net.DirectMethods.DataBindAndSelect();" />
            </Listeners>
        </ext:Button>
        </form>
    </body>
    </html>
    See also
    https://examples1.ext.net/#/GridPane...Row_Selection/
  3. #3
    Thanks, exactly what I was looking for.

    I found to disable selection at all of the grid panel, but is there also a way of disable
    only multiselect?
  4. #4
    Please use SingleSelect to true.

    Example
    <ext:RowSelectionModel runat="server" SingleSelect="true" />
  5. #5
    Thanks, please mark as solved.

Similar Threads

  1. Gridpanel Actioncolumn DirectMethod
    By Steve88 in forum 2.x Help
    Replies: 1
    Last Post: Aug 02, 2012, 8:28 AM
  2. [CLOSED] GridPanel: issue with paging when using DirectMethod
    By Leonid_Veriga in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: May 16, 2012, 10:04 AM
  3. [CLOSED] Difference between DirectMethod , DirectEvent, Static DirectMethod
    By syllabusarq in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Mar 01, 2011, 11:37 AM
  4. [CLOSED] FocusRow() for grouped GridPanel within DirectMethod
    By csharpdev in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Nov 10, 2010, 2:21 PM
  5. [CLOSED] gridpanel refresh - directmethod
    By vali1993 in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Sep 13, 2010, 7:50 AM

Tags for this Thread

Posting Permissions