[CLOSED] Renderer.Fn does not work with LockingGridView

  1. #1

    [CLOSED] Renderer.Fn does not work with LockingGridView

    without LockingGridView the behavior is correct

    <%@ 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)
            {
                GridPanel1.ColumnModel.Columns.Add(new Column
                {
                    Header = "Company",
                    Locked = true,
                    DataIndex = "company",
                    Width = 25
                });
                Column nc = new Column();
                nc.Header="Description";
                nc.DataIndex="description";
                nc.Width=2500;
                nc.Renderer.Fn = "myRenderer";
                GridPanel1.ColumnModel.Columns.Add(nc);
    
                LockingGridView gw = new LockingGridView { ID = "GridPanelRView"};
                GridPanel1.View.Add(gw);
                this.Store1.DataSource = this.Data;
                this.Store1.DataBind();
            }
        }
        private object[] Data
        {
            get
            {
                return new object[]
                {
                    new object[] { "3m Co", 10 },
                    new object[] { "Alcoa Inc", 24 }               
                };
            }
        }
    </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>Simple Array Grid - Ext.NET Examples</title>
        <script type="text/javascript">
            var myRenderer = function(value, metadata, record, rowIndex, colIndex, store) {
            if (value > 10) {
                metadata.style += 'background-color: #c2efff';  
                }
                
            }
                    
          </script>
        
        
        <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" /> 
        <ext:ResourcePlaceHolder runat="server" />
       
    </head>
    <body>
        <ext:ResourceManager runat="server" />    
        <h1>Simple Array Grid</h1>    
        <ext:GridPanel 
            ID="GridPanel1"
            runat="server" 
            StripeRows="true"
            Title="Array Grid" 
            TrackMouseOver="true"
            Width="600" 
            Height="350"
            AutoExpandColumn="company">
            <Store>
                <ext:Store ID="Store1" runat="server">
                    <Reader>
                        <ext:ArrayReader>
                            <Fields>
                                <ext:RecordField Name="company" />    
                                <ext:RecordField Name="description" />                          
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                </ext:Store>
            </Store>
            <ColumnModel runat="server">
                <Columns>
                    
                
                </Columns>
            </ColumnModel>
            <SelectionModel>
                <ext:RowSelectionModel runat="server" SingleSelect="true" />
            </SelectionModel>
        </ext:GridPanel>
    </body>
    </html>
    Last edited by Daniil; Jan 09, 2011 at 12:09 PM. Reason: [CLOSED]
  2. #2
    Hi,

    Confirmed, I have reproduced the issue.

    It looks like a bug of LockingGridView. But I'm not sure, maybe, it's something like restriction of LockingGridView. It's an extension, not in ExtJS core, so it can break documented (in ExtJS docs) behavior.

    Anyway, I can suggest you a workaround. Please use the following renderer and css class.

    Example
    <style type="text/css">
        .my-class {
            background-color: #c2efff;
        }
    </style>
    
    <script type="text/javascript">
        var myRenderer = function(value, metadata, record, rowIndex, colIndex, store) {
            if (value > 10) {
                metadata.css += 'my-class';
            }
        }
    </script>

Similar Threads

  1. [CLOSED] Column renderer does not work for treeGrid
    By SymSure in forum 2.x Legacy Premium Help
    Replies: 1
    Last Post: Aug 14, 2012, 12:22 PM
  2. GridPanel Renderer doesn' work
    By AlexMaslakov in forum 1.x Help
    Replies: 2
    Last Post: Aug 25, 2011, 12:46 PM
  3. [CLOSED] Renderer does not work on DateColumn in GridPanel
    By Jurke in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Feb 04, 2011, 11:04 AM
  4. [CLOSED] NumberColumn renderer does not work?
    By 78fede78 in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Nov 02, 2010, 11:10 AM
  5. Renderer Fn not work at first time
    By nanosassa in forum 1.x Help
    Replies: 0
    Last Post: May 04, 2009, 12:35 PM

Posting Permissions