[CLOSED] Groupable GridPanel with HeaderGroupRow - JS error on column header menu click

  1. #1

    [CLOSED] Groupable GridPanel with HeaderGroupRow - JS error on column header menu click

    Hi All,

    I have a GridPanel with GroupingView on it. When I set EnableColumnHide="false" and add a HeaderGroupRow, I have a Javascript error:
    "Microsoft JScript runtime error: 'this.colMenu' is null or not an object"
    when I try to open header context menu.

    Looks like a bug.
    Any idea?

    <%@ Page Language="C#" %>
    <%@ 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)
            {
                this.GridPanel1.Store.Primary.DataSource = this.GetData();
                this.GridPanel1.Store.Primary.DataBind();
                HeaderGroupRow gr = new HeaderGroupRow();
                GroupingView1.HeaderGroupRows.Add(gr);
                gr.Columns.Add(new HeaderGroupColumn() { Header = "Group", ColSpan = 1 });
            }
        }
      
        private object[] GetData()
        {
            return new object[]
            {
                new object[] { "3m Co", 71.72, 0.02, true },
                new object[] { "Alcoa Inc", 29.01, 0.42, false },
                new object[] { "Altria Group Inc", 83.81, 0.28, true },
                new object[] { "American Express Company", 52.55, 0.01, false },
                new object[] { "American International Group, Inc.", 64.13, 0.31, false },
            };
        }
      
    </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 id="Head1" runat="server">
    </head>
    <body>
        <ext:ResourceManager ID="ResourceManager1" runat="server" RemoveViewState="true" IDMode="Explicit" />
        <ext:GridPanel
            ID="GridPanel1"
            runat="server"
            Title="Editable GridPanel"
            StripeRows="true"
            TrackMouseOver="true"
            Width="600"
            Height="350" EnableColumnHide="false"
            AutoExpandColumn="Name">
                <Store>
                    <ext:Store ID="Store1" runat="server">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="name" />
                                    <ext:RecordField Name="price" Type="Float" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
            <ColumnModel ID="ColumnModel1" runat="server">
                <Columns>
                    <ext:Column ColumnID="Name" Header="Name" DataIndex="name">
                    </ext:Column>
                    <ext:Column Header="Price" DataIndex="price">
                        <Renderer Format="UsMoney" />
                    </ext:Column>
                </Columns>
            </ColumnModel>
            <SelectionModel>
                <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true" />
            </SelectionModel>
            <View>
                <ext:GroupingView runat="server" ID="GroupingView1">
                </ext:GroupingView>
            </View>
        </ext:GridPanel>         
    </body>
    </html>
    Last edited by Daniil; May 13, 2011 at 4:04 PM. Reason: [CLOSED]
  2. #2
    Hi,

    Thanks for the report, it's a bug.

    Please use the following fix:
    <ext:ResourcePlaceHolder runat="server" Mode="ScriptFiles" />
    <script type="text/javascript">
        Ext.ux.grid.ColumnHeaderGroup.prototype.init = Ext.ux.grid.ColumnHeaderGroup.prototype.init.createSequence(function(grid){
            if( grid.enableColumnHide === false) {
               grid.getView().beforeColMenuShow = Ext.emptyFn;
            }
        });        
    </script>
    on the page.

    Or update from SVN.

    Also don't forget that you can place this fix into the sources on your local machine to avoid placing the fix on each page.
  3. #3
    Thank you,
    It works fine!

Similar Threads

  1. Replies: 2
    Last Post: Feb 22, 2012, 4:16 PM
  2. [CLOSED] Hide the column option(on click of column header) for treegrid
    By AnulekhaK in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Feb 01, 2012, 11:16 AM
  3. [CLOSED] How do I customize the menu in column header of gridpanel
    By leon_tang in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Jul 22, 2011, 11:13 AM
  4. Replies: 4
    Last Post: Mar 01, 2011, 9:45 AM
  5. [CLOSED] gridpanel header menu column checkbox remove
    By majestic in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Oct 15, 2009, 11:28 AM

Posting Permissions