[CLOSED] RowExpander

  1. #1

    [CLOSED] RowExpander

    hi,

    how to remove the RowExpander in particular row if RowExpander field value is empty in gridpanel.





  2. #2

    RE: [CLOSED] RowExpander

    Hi,

    We have added Prepare property for RowExpander. If this function return false then expander for row will not be created.

    Please see the following sample (please update from SVN first)
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Store1.DataSource = new object[]
                {
                    new object[] {"3m Co", 71.72, 0.02, 0.03, "9/1 12:00am", "Manufacturing"},
                    new object[] {"Alcoa Inc", 29.01, 0.42, 1.47, "9/1 12:00am", "Manufacturing"},
                    new object[] {"Altria Group Inc", 83.81, 0.28, 0.34, "9/1 12:00am", "Manufacturing"},
                    new object[] {"American Express Company", 52.55, 0.01, 0.02, "9/1 12:00am", "Finance"},
                    new object[] {"American International Group, Inc.", 64.13, 0.31, 0.49, "9/1 12:00am", "Services"},
                    new object[] {"AT&amp;T Inc.", 31.61, -0.48, -1.54, "9/1 12:00am", "Services"},
                    new object[] {"Boeing Co.", 75.43, 0.53, 0.71, "9/1 12:00am", "Manufacturing"},
                    new object[] {"Caterpillar Inc.", 67.27, 0.92, 1.39, "9/1 12:00am", "Services"},
                    new object[] {"Citigroup, Inc.", 49.37, 0.02, 0.04, "9/1 12:00am", "Finance"},
                    new object[] {"E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28, "9/1 12:00am", "Manufacturing"},
                    new object[] {"Exxon Mobil Corp", 68.1, -0.43, -0.64, "9/1 12:00am", "Manufacturing"},
                    new object[] {"General Electric Company", 34.14, -0.08, -0.23, "9/1 12:00am", "Manufacturing"},
                    new object[] {"General Motors Corporation", 30.27, 1.09, 3.74, "9/1 12:00am", "Automotive"},
                    new object[] {"Hewlett-Packard Co.", 36.53, -0.03, -0.08, "9/1 12:00am", "Computer"},
                    new object[] {"Honeywell Intl Inc", 38.77, 0.05, 0.13, "9/1 12:00am", "Manufacturing"},
                    new object[] {"Intel Corporation", 19.88, 0.31, 1.58, "9/1 12:00am", "Computer"},
                    new object[] {"International Business Machines", 81.41, 0.44, 0.54, "9/1 12:00am", "Computer"},
                    new object[] {"Johnson &amp; Johnson", 64.72, 0.06, 0.09, "9/1 12:00am", "Medical"},
                    new object[] {"JP Morgan &amp; Chase &amp; Co", 45.73, 0.07, 0.15, "9/1 12:00am", "Finance"},
                    new object[] {"McDonald\"s Corporation", 36.76, 0.86, 2.40, "9/1 12:00am", "Food"},
                    new object[] {"Merck &amp; Co., Inc.", 40.96, 0.41, 1.01, "9/1 12:00am", "Medical"},
                    new object[] {"Microsoft Corporation", 25.84, 0.14, 0.54, "9/1 12:00am", "Computer"},
                    new object[] {"Pfizer Inc", 27.96, 0.4, 1.45, "9/1 12:00am", "Medical"},
                    new object[] {"The Coca-Cola Company", 45.07, 0.26, 0.58, "9/1 12:00am", "Food"},
                    new object[] {"The Home Depot, Inc.", 34.64, 0.35, 1.02, "9/1 12:00am", "Retail"},
                    new object[] {"The Procter &amp; Gamble Company", 61.91, 0.01, 0.02, "9/1 12:00am", "Manufacturing"},
                    new object[] {"United Technologies Corporation", 63.26, 0.55, 0.88, "9/1 12:00am", "Computer"},
                    new object[] {"Verizon Communications", 35.57, 0.39, 1.11, "9/1 12:00am", "Services"},
                    new object[] {"Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63, "9/1 12:00am", "Retail"}
                };
    
            this.Store1.DataBind();
    
            const string desc = "this.desc = \"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, porta at, " +
                                "vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, " +
                                "iaculis ac, lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, " +
                                "sit amet tincidunt quam turpis vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, " +
                                "pretium eget, cursus a, fringilla vel, urna.<br/><br/>Aliquam commodo ullamcorper erat. " +
                                "Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing eget, " +
                                "nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. " +
                                "Vivamus tincidunt diam nec urna. Curabitur velit.\";";
    
            string dataID = string.Concat(this.Store1.ClientID, "_Data");
            string push = string.Format(@"for(var i = 0; i < {0}.length; i++){{{0}[i].push(desc);}}", dataID);
    
            this.ScriptManager1.RegisterClientScriptBlock("desc_data", desc);
            this.ScriptManager1.RegisterOnReadyScript(push);
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>Coolite Example - Grid3 Example</title>
        <ext:ScriptContainer ID="ScriptContainer1" runat="server" />
    
        <script type="text/javascript">
            var template = '{1}';
    
            var change = function(value) {
                return String.format(template, (value > 0) ? 'green' : 'red', value);
            }
    
            var pctChange = function(value) {
                return String.format(template, (value > 0) ? 'green' : 'red', value + '%');
            }
    
            var prepare = function(record) {
                return record.data.price < 50;
            }
        </script>
    
    </head>
    <body>
        <form id="form1" runat="server">
            <ext:ScriptManager ID="ScriptManager1" runat="server" />
            
            <ext:Store ID="Store1" runat="server" IgnoreExtraFields="false">
                <Reader>
                    <ext:ArrayReader>
                        <Fields>
                            <ext:RecordField Name="company" />
                            <ext:RecordField Name="price" Type="Float" />
                            <ext:RecordField Name="change" Type="Float" />
                            <ext:RecordField Name="pctChange" Type="Float" />
                            <ext:RecordField Name="lastChange" Type="Date" DateFormat="n/j h:ia" />
                            <ext:RecordField Name="industry" />
                            <ext:RecordField Name="desc" />
                        </Fields>
                    </ext:ArrayReader>
                </Reader>
            </ext:Store>
            
            <ext:GridPanel ID="GridPanel1" runat="server" StoreID="Store1" TrackMouseOver="true"
                Title="Expander Rows with collapsed by default, Collapse and Force Fit" Collapsible="true" AnimCollapse="true"
                Icon="Table" Width="600" Height="300">
                <ColumnModel ID="ColumnModel1" runat="server">
                    <Columns>
                        <ext:Column Header="Company" Width="40" Sortable="true" DataIndex="company" />
                        <ext:Column Header="Price" Width="20" Sortable="true" DataIndex="price">
                            <Renderer Format="UsMoney" />
                        </ext:Column>
                        <ext:Column Header="Change" Width="20" Sortable="true" DataIndex="change">
                            <Renderer Fn="change" />
                        </ext:Column>
                        <ext:Column Header="Change" Width="20" Sortable="true" DataIndex="pctChange">
                            <Renderer Fn="pctChange" />
                        </ext:Column>
                        <ext:Column Header="Last Updated" Width="20" Sortable="true" DataIndex="lastChange">
                            <Renderer Fn="Ext.util.Format.dateRenderer('m/d/Y')" />
                        </ext:Column>
                    </Columns>
                </ColumnModel>
                <View>
                    <ext:GridView ID="GridView1" runat="server" ForceFit="true" />
                </View>
                <SelectionModel>
                    <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
                </SelectionModel>
                <Plugins>
                    <ext:RowExpander ID="RowExpander1" runat="server" Collapsed="true">
                        
                        <Template ID="Template1" runat="server">
                            <p>Company: {company}</p><br/>
                            <p>Summary: {desc}</p>
                        </Template>
                    </ext:RowExpander>
                </Plugins>
            </ext:GridPanel>
        </form>
    </body>
    </html>

Similar Threads

  1. [CLOSED] [1.0] - GridPanel in RowExpander Bug
    By drkoh in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Jan 24, 2011, 7:17 PM
  2. [CLOSED] RowExpander with conrol
    By FpNetWorth in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Nov 24, 2010, 5:40 PM
  3. [CLOSED] RowExpander | Currently Expanded Row
    By amitpareek in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: May 30, 2010, 12:22 PM
  4. [CLOSED] [1.0] RowExpander Bug
    By Timothy in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Jan 18, 2010, 8:43 AM
  5. [CLOSED] [1.0] RowExpander / View
    By state in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Jan 14, 2010, 1:14 PM

Posting Permissions