Grid Panel Selection Model

  1. #1

    Grid Panel Selection Model

    Hi All ,

    I have tried this example and it doesn't work with me

    https://examples1.ext.net/#/GridPane...box_Selection/

    I'm using version 0.8 , what i want to do to make CheckboxSelection and When I select some rows and click on delete button , I will go to delete the selected rows from the database

    in the Ajax Handler of the delete button the SelectedRows.Count = 0

    please help me as soon as you can

    Thanks in Advance
  2. #2
    Hi,

    The same code as here
    https://examples1.ext.net/#/GridPane...box_Selection/
    for Coolite 0.8.x works as expected.

    So, could you provide a sample code reproducing the issue?

    Example
    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Collections.Generic" %>
    
    <%@ 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)
         {
             if (!Ext.IsAjaxRequest)
             {
                 this.Store1.DataSource = new List<Company> 
                 { 
                     new Company(0, "3m Co", 71.72, 0.02, 0.03),
                     new Company(1, "Alcoa Inc", 29.01, 0.42, 1.47),
                     new Company(2, "Altria Group Inc", 83.81, 0.28, 0.34),
                     new Company(3, "American Express Company", 52.55, 0.01, 0.02),
                     new Company(4, "American International Group, Inc.", 64.13, 0.31, 0.49),
                     new Company(5, "AT&T Inc.", 31.61, -0.48, -1.54),
                     new Company(6, "Boeing Co.", 75.43, 0.53, 0.71),
                     new Company(7, "Caterpillar Inc.", 67.27, 0.92, 1.39),
                     new Company(8, "Citigroup, Inc.", 49.37, 0.02, 0.04),
                     new Company(9, "E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28),
                     new Company(10, "Exxon Mobil Corp", 68.1, -0.43, -0.64),
                     new Company(11, "General Electric Company", 34.14, -0.08, -0.23),
                     new Company(12, "General Motors Corporation", 30.27, 1.09, 3.74),
                     new Company(13, "Hewlett-Packard Co.", 36.53, -0.03, -0.08),
                     new Company(14, "Honeywell Intl Inc", 38.77, 0.05, 0.13),
                     new Company(15, "Intel Corporation", 19.88, 0.31, 1.58),
                     new Company(16, "International Business Machines", 81.41, 0.44, 0.54),
                     new Company(17, "Johnson & Johnson", 64.72, 0.06, 0.09),
                     new Company(18, "JP Morgan & Chase & Co", 45.73, 0.07, 0.15),
                     new Company(19, "McDonald\"s Corporation", 36.76, 0.86, 2.40),
                     new Company(20, "Merck & Co., Inc.", 40.96, 0.41, 1.01),
                     new Company(21, "Microsoft Corporation", 25.84, 0.14, 0.54),
                     new Company(22, "Pfizer Inc", 27.96, 0.4, 1.45),
                     new Company(23, "The Coca-Cola Company", 45.07, 0.26, 0.58),
                     new Company(24, "The Home Depot, Inc.", 34.64, 0.35, 1.02),
                     new Company(25, "The Procter & Gamble Company", 61.91, 0.01, 0.02),
                     new Company(26, "United Technologies Corporation", 63.26, 0.55, 0.88),
                     new Company(27, "Verizon Communications", 35.57, 0.39, 1.11),
                     new Company(28, "Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63)
                 };
    
                 this.Store1.DataBind();
    
                 if (!this.IsPostBack)
                 {
                     RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel;
    
                     sm.SelectedRow = new SelectedRow(2);
                     
                     sm.SelectedRows.Add(new SelectedRow(2));
                     sm.SelectedRows.Add(new SelectedRow("11"));
                 }
             }
        }
    
        protected void Button2_Click(object sender, AjaxEventArgs e)
        {
            StringBuilder result = new StringBuilder();
            result.Append("<b>Selected Rows</b></br /><ul>");
            RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel;
    
            foreach (SelectedRow row in sm.SelectedRows)
            {
                result.Append("<li>" + row.RecordID + "</li>");
            }
    
            result.Append("</ul>");
            this.Label1.Html = result.ToString();
        }
    
        public class Company
        {
            public Company(int id, string name, double price, double change, double pctChange)
            {
                this.ID = id;
                this.Name = name;
                this.Price = price;
                this.Change = change;
                this.PctChange = pctChange;
            }
    
            public int ID { get; set; }
            public string Name { get; set; }
            public double Price { get;set; }
            public double Change { get;set; }
            public double PctChange { get;set; }
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>GridPanel with Checkbox Selection Model - Coolite Examples</title>
        
        <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" />    
    </head>
    <body>
    
        <script type="text/javascript">
            var template = '<span style="color:{0};">{1}</span>';
    
            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 + "%");
            };        
        </script>
        
        <form id="form1" runat="server">
            <ext:ScriptManager ID="ScriptManager1" runat="server" />
            
            <h1>GridPanel with Checkbox Selection Model</h1>
            
            <ext:Store ID="Store1" runat="server">
                <Reader>
                    <ext:JsonReader ReaderID="ID">
                        <Fields>
                            <ext:RecordField Name="ID" />
                            <ext:RecordField Name="Name" />
                            <ext:RecordField Name="Price" />
                            <ext:RecordField Name="Change" />
                            <ext:RecordField Name="PctChange" />
                        </Fields>
                    </ext:JsonReader>
                </Reader>
            </ext:Store>
            
            <ext:GridPanel 
                ID="GridPanel1" 
                runat="server" 
                StoreID="Store1"
                StripeRows="true"
                Title="Company List"
                AutoExpandColumn="Company" 
                Collapsible="true"
                Width="600"
                Height="350">
                <ColumnModel ID="ColumnModel1" runat="server">
                    <Columns>
                        <ext:Column 
                            ColumnId="Company" 
                            Header="Company" 
                            Width="160" 
                            Sortable="true" 
                            DataIndex="Name" 
                            Resizable="false" 
                            MenuDisabled="true" 
                            Fixed="true">
                            <Editor>
                                <ext:TextField runat="server" />
                            </Editor>
                        </ext:Column>
                        <ext:Column Header="Price" Width="75" Sortable="true" DataIndex="Price">
                            <Renderer Format="UsMoney" />
                        </ext:Column>
                        <ext:Column Header="Change" Width="75" Sortable="true" DataIndex="Change">
                            <Renderer Fn="change" />
                        </ext:Column>
                        <ext:Column Header="Change" Width="75" Sortable="true" DataIndex="PctChange">
                            <Renderer Fn="pctChange" />
                        </ext:Column>
                    </Columns>
                </ColumnModel>
                <BottomBar>
                    <ext:PagingToolBar ID="PagingToolBar1" runat="server" PageSize="10" StoreID="Store1" DisplayInfo="false" />
                </BottomBar>
                <SelectionModel>
                    <ext:CheckboxSelectionModel runat="server" />
                </SelectionModel>
                <Buttons>
                    <ext:Button ID="Button2" runat="server" Text="AjaxPostBack">
                        <AjaxEvents>
                            <Click OnEvent="Button2_Click">
                                <EventMask ShowMask="true" />
                            </Click>
                        </AjaxEvents>
                    </ext:Button>
                </Buttons>
            </ext:GridPanel>
            
            <div style="width:590px; border:1px solid gray; padding:5px;">
                <ext:Label ID="Label1" runat="server" />
            </div>
        </form>
      </body>
    </html>
  3. #3
    hi
    i have same problem
    i use this Example https://examples2.ext.net/#/GridPane...box_Selection/
    but codes of this dont work in my project And in Button_Click SelectedRowCollection is empty
  4. #4
    Hi @somaye,

    Please provide a test case to reproduce.
  5. #5
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Main.ascx.cs" Inherits="offer_Main" %>
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <script type="text/javascript">
        var SetIcon = function (grid, command, record, row, col, value) {
    
            if (record.get("ACTIVE") == "True") {
                command.iconCls = "icon-accept";
            }
            else {
                command.iconCls = "icon-BulletRed";
            }
        }
    </script>
    <script type="text/javascript">
        Ext.selection.CheckboxModel.override({
            selectAll: function (suppressEvent) {
                var me = this,
                        selections = me.store.getAllRange(), // instead of the getRange call
                        i = 0,
                        len = selections.length,
                        start = me.getSelection().length;
    
                me.suspendChanges();
    
                for (; i < len; i++) {
                    me.doSelect(selections[i], true, suppressEvent);
                }
    
                me.resumeChanges();
                if (!suppressEvent) {
                    me.maybeFireSelectionChange(me.getSelection().length !== start);
                }
            },
    
            deselectAll: Ext.Function.createSequence(Ext.selection.CheckboxModel.prototype.deselectAll, function () {
                this.view.panel.getSelectionMemory().clearMemory();
            })
        });
    </script>
        
    <ext:Viewport runat="server" Layout="BorderLayout" RTL="true" ID="Mainview">
        <Items>
            <ext:TabPanel runat="server" Region="North" Frame="true" Collapsible="true" Height="220px"
                Title="جستجو">
                <Items>
                    <ext:Panel runat="server" Title="جستجو" Padding="5" Header="true" IconCls="icon_find"
                        Height="180px" AutoWidth="true">
                        <Content>
                            <center>
                                <table width="50%">
                                    <tr>
                                        <td align="left" colspan="2">
                                            <ext:Checkbox runat="server" ID="ChkBases" RTL="false" AutoWidth="true" LabelSeparator=""
                                                LabelAlign="Right" FieldLabel="سایت" Frame="True">
                                            </ext:Checkbox>
                                        </td>
                                        <td align="right" colspan="2">
                                            <ext:Store runat="server" ID="BasesStore" RemoteSort="true" OnRefreshData="dgstore_RefreshData">
                                                <Model>
                                                    <ext:Model IDProperty="ID">
                                                        <Fields>
                                                            <ext:ModelField Name="BasesID" />
                                                            <ext:ModelField Name="Title" />
                                                        </Fields>
                                                    </ext:Model>
                                                </Model>
                                            </ext:Store>
                                            <ext:ComboBox runat="server" ID="cmbBases" Width="200px" StoreID="BasesStore" ValueField="BasesID"
                                                DisplayField="Title">
                                            </ext:ComboBox>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left">
                                            کد تخفیف:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtoffercode">
                                            </ext:TextField>
                                        </td>
                                        <td align="left">
                                            عنوان:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txttitle">
                                            </ext:TextField>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left">
                                            درصد تخفیف:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtDiscountPercent">
                                            </ext:TextField>
                                        </td>
                                        <td align="left">
                                            تخفیف دهنده:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtExtenuating">
                                            </ext:TextField>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left">
                                            الویت:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtPriority">
                                            </ext:TextField>
                                        </td>
                                        <td align="left">
                                        </td>
                                        <td align="right">
                                        </td>
                                    </tr>
                                </table>
                            </center>
                        </Content>
                    </ext:Panel>
                    <ext:Panel ID="Panel2" runat="server" Title="تاریخ" Padding="5" Header="true" Height="180px"
                        AutoWidth="true">
                        <Content>
                            <center>
                                <table cellpadding="2" cellspacing="2" style="padding: 10px; text-align: left">
                                    <tr>
                                        <td>
                                            تاریخ ثبت از :
                                        </td>
                                        <td style="text-align: right; display: inline-block">
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtRegDateS" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                        <img onclick="displayDatePicker('<%=txtRegDateS.ClientID %>', this);" src="Images/calendar.jpg" />
                                                        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtRegDateS"
                                                            Display="Dynamic" ErrorMessage="*" SetFocusOnError="True" ValidationExpression="\d{4}/\d{2}/\d{2}"
                                                            ValidationGroup="find" Enabled="true"></asp:RegularExpressionValidator>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                        <td>
                                            تا :
                                        </td>
                                        <td>
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtRegDateE" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                        <img onclick="displayDatePicker('<%=txtRegDateE.ClientID %>', this);" src="Images/calendar.jpg" />
                                                        <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtRegDateE"
                                                            Display="Dynamic" ErrorMessage="*" SetFocusOnError="True" ValidationExpression="\d{4}/\d{2}/\d{2}"
                                                            ValidationGroup="find" Enabled="true"></asp:RegularExpressionValidator>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            تاریخ انقضا از :
                                        </td>
                                        <td style="text-align: right">
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtEndExpiredDateS" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                        <img onclick="displayDatePicker('<%=txtEndExpiredDateS.ClientID %>', this);" src="Images/calendar.jpg" />
                                                        <asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="txtEndExpiredDateS"
                                                            Display="Dynamic" ErrorMessage="*" SetFocusOnError="True" ValidationExpression="\d{4}/\d{2}/\d{2}"
                                                            ValidationGroup="find" Enabled="true"></asp:RegularExpressionValidator>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                        <td>
                                            تا :
                                        </td>
                                        <td>
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtEndExpiredDateE" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                        <img onclick="displayDatePicker('<%=txtEndExpiredDateE.ClientID %>', this);" src="Images/calendar.jpg" />
                                                        <asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ControlToValidate="txtEndExpiredDateE"
                                                            Display="Dynamic" ErrorMessage="*" SetFocusOnError="True" ValidationExpression="\d{4}/\d{2}/\d{2}"
                                                            ValidationGroup="find" Enabled="true"></asp:RegularExpressionValidator>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                </table>
                            </center>
                        </Content>
                    </ext:Panel>
                </Items>
                <BottomBar>
                    <ext:Toolbar ID="Toolbar1" runat="server" Flat="true">
                        <Items>
                            <ext:Button ID="btnSearch" runat="server" Text="  جستجو  " IconCls="icon_find" IconAlign="Right">
                                <DirectEvents>
                                    <Click OnEvent="Search_click">
                                        <EventMask ShowMask="true" Target="CustomTarget" CustomTarget="#{dgsearch}" Msg="درحال دریافت اطلاعات..." />
                                    </Click>
                                </DirectEvents>
                            </ext:Button>
                        </Items>
                    </ext:Toolbar>
                </BottomBar>
            </ext:TabPanel>
            <ext:Panel ID="Panel1" runat="server" Region="North" Frame="true" Collapsible="true"
                AutoHeight="true" Title="لیست تخفیفات">
                <Content>
                    <center>
                        <ext:GridPanel ID="dgsearch" runat="server" Title="لیست تخفیفات" Height="600">
                            <Store>
                                <ext:Store runat="server" ID="dgstore" >
                                    <Model>
                                        <ext:Model IDProperty="ID">
                                            <Fields>
                                                <ext:ModelField Name="offerCode" />
                                                <ext:ModelField Name="offerTitle" />
                                                <ext:ModelField Name="UserName" />
                                                <ext:ModelField Name="Extenuating" />
                                                <ext:ModelField Name="DiscountPercent" />
                                                <ext:ModelField Name="Priority" />
                                                <ext:ModelField Name="ExpiredDate" />
                                                <ext:ModelField Name="BasesTitle" />
                                            </Fields>
                                        </ext:Model>
                                    </Model>
                                </ext:Store>
                            </Store>
                            <ColumnModel ID="ColumnModel1" runat="server">
                                <Columns>
                                    <ext:Column runat="server" DataIndex="offerCode" Header="کد تخفیف" Align="Center"
                                        Resizable="false" />
                                    <ext:Column runat="server" DataIndex="offerTitle" Header="عنوان تخفیف" Align="Center"
                                        Resizable="false" Width="200px" />
                                    <ext:Column runat="server" DataIndex="UserName" Header="نام کاربری" Align="Center"
                                        Resizable="false" />
                                    <ext:Column runat="server" DataIndex="Extenuating" Header="تخفیف دهنده" Align="Center"
                                        Resizable="false" Width="150px" />
                                    <ext:Column ID="Column1" runat="server" Text='<%#ShamsiDate.get(Eval("ExpiredDate").ToString(),1) %>'
                                        Header="تاریخ پایان اعتبار" Align="Center" Resizable="false" />
                                    <ext:Column ID="Column2" runat="server" DataIndex="DiscountPercent" Header="درصد تخفیف"
                                        Align="Center" Resizable="false" />
                                    <ext:Column ID="Column3" runat="server" DataIndex="Priority" Header="الویت" Align="Center"
                                        Resizable="false" />
                                    <ext:Column ID="Column4" runat="server" DataIndex="BasesTitle" Header="سایت" Align="Center"
                                        Resizable="false" Width="100px" />
                                    <ext:Column Header="عملیات" Align="Center" Width="80px">
                                        <Commands>
                                            <ext:ImageCommand Icon="NoteEdit" CommandName="Edit" ToolTip-Text="ویرایش">
                                            </ext:ImageCommand>
                                            <ext:ImageCommand Icon="BulletGreen" CommandName="Active" ToolTip-Text="فعال/غیر فعال" />
                                        </Commands>
                                        <PrepareCommands Fn="SetIcon">
                                        </PrepareCommands>
                                    </ext:Column>
                                </Columns>
                            </ColumnModel>
                            <TopBar>
                                <ext:Toolbar ID="Toolbar2" runat="server" StyleSpec="direction:rtl">
                                    <Items>
                                        <ext:ToolbarFill />
                                        <ext:Button ID="btnNewOffer" runat="server" Icon="Add" Text="ثبت تخفیف جدید" IconAlign="Right">
                                            <DirectEvents>
                                                <Click OnEvent="btnNewOffer_Click">
                                                    <EventMask ShowMask="true" />
                                                </Click>
                                            </DirectEvents>
                                        </ext:Button>
                                        <ext:Button ID="btnDelete" runat="server" Icon="Delete" Text="حذف" IconAlign="Right" StandOut="true" >
                                            <DirectEvents>
                                                <Click OnEvent="btnDelete_Click">
                                                    <EventMask ShowMask="true" />
                                                </Click>
                                            </DirectEvents>
                                        </ext:Button>
                                    </Items>
                                </ext:Toolbar>
                            </TopBar>
                            <SelectionModel>
                                <ext:CheckboxSelectionModel ID="CheckboxSelectionModel1" runat="server" Mode="Multi" />
                            </SelectionModel>
                        </ext:GridPanel>
                        <ext:Window runat="server" ID="myWind" Title="نمایش تخفیف" Width="800" Height="450"
                            Layout="FitLayout" Modal="true" Collapsible="true" Maximizable="true" Hidden="true">
                        </ext:Window>
                    </center>
                </Content>
            </ext:Panel>
        </Items>
    </ext:Viewport>
  6. #6
    Please provide a runnable sample. We should be able to copy, paste and run a sample without any changes.

    Also please simplify it as much as you can, removing everything that is not required to reproduce the issue.

    Please read these guidelines:
    Forum Guidelines For Posting New Topics
    More Information Required
  7. #7
    this code is runnable

    <%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
        Inherits="_Default" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <ext:ResourceManager ID="ResourceManager1" runat="server" />
    <%@ Import Namespace="System.Collections.Generic" %>
    <script type="text/javascript">
        Ext.selection.CheckboxModel.override({
            selectAll: function (suppressEvent) {
                var me = this,
                        selections = me.store.getAllRange(), // instead of the getRange call
                        i = 0,
                        len = selections.length,
                        start = me.getSelection().length;
    
                me.suspendChanges();
    
                for (; i < len; i++) {
                    me.doSelect(selections[i], true, suppressEvent);
                }
    
                me.resumeChanges();
                if (!suppressEvent) {
                    me.maybeFireSelectionChange(me.getSelection().length !== start);
                }
            },
    
            deselectAll: Ext.Function.createSequence(Ext.selection.CheckboxModel.prototype.deselectAll, function () {
                this.view.panel.getSelectionMemory().clearMemory();
            })
        });
    </script>
    <ext:Viewport runat="server" Layout="BorderLayout" RTL="true" ID="Mainview" AutoScroll="true" >
        <Items>
            <ext:TabPanel ID="TabPanel1" runat="server" Region="North" Frame="true" Collapsible="true" Height="220px"
                Title="جستجو">
                <Items>
                    <ext:Panel ID="Panel1" runat="server" Title="جستجو" Padding="5" Header="true" IconCls="icon_find"
                        Height="180px" AutoWidth="true">
                        <Content>
                            <center>
                                <table width="50%">
                                    <tr>
                                        <td align="left" colspan="2">
                                            <ext:Checkbox runat="server" ID="ChkBases" RTL="false" AutoWidth="true" LabelSeparator=""
                                                LabelAlign="Right" FieldLabel="سایت" Frame="True">
                                            </ext:Checkbox>
                                        </td>
                                        <td align="right" colspan="2">
                                            <ext:Store runat="server" ID="BasesStore" RemoteSort="true" OnRefreshData="dgstore_RefreshData">
                                                <Model>
                                                    <ext:Model IDProperty="ID">
                                                        <Fields>
                                                            <ext:ModelField Name="BasesID" />
                                                            <ext:ModelField Name="Title" />
                                                        </Fields>
                                                    </ext:Model>
                                                </Model>
                                            </ext:Store>
                                            <ext:ComboBox runat="server" ID="cmbBases" Width="200px" StoreID="BasesStore" ValueField="BasesID"
                                                DisplayField="Title">
                                            </ext:ComboBox>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left">
                                            کد تخفیف:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtoffercode">
                                            </ext:TextField>
                                        </td>
                                        <td align="left">
                                            عنوان:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txttitle">
                                            </ext:TextField>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left">
                                            درصد تخفیف:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtDiscountPercent">
                                            </ext:TextField>
                                        </td>
                                        <td align="left">
                                            تخفیف دهنده:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtExtenuating">
                                            </ext:TextField>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left">
                                            الویت:
                                        </td>
                                        <td align="right">
                                            <ext:TextField runat="server" ID="txtPriority">
                                            </ext:TextField>
                                        </td>
                                        <td align="left">
                                        </td>
                                        <td align="right">
                                        </td>
                                    </tr>
                                </table>
                            </center>
                        </Content>
                    </ext:Panel>
                    <ext:Panel ID="Panel2" runat="server" Title="تاریخ" Padding="5" Header="true" Height="180px"
                        AutoWidth="true">
                        <Content>
                            <center>
                                <table cellpadding="2" cellspacing="2" style="padding: 10px; text-align: left">
                                    <tr>
                                        <td>
                                            تاریخ ثبت از :
                                        </td>
                                        <td style="text-align: right; display: inline-block">
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtRegDateS" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                       
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                        <td>
                                            تا :
                                        </td>
                                        <td>
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtRegDateE" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                        
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            تاریخ انقضا از :
                                        </td>
                                        <td style="text-align: right">
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtEndExpiredDateS" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                       </td>
                                                </tr>
                                            </table>
                                        </td>
                                        <td>
                                            تا :
                                        </td>
                                        <td>
                                            <table>
                                                <tr>
                                                    <td>
                                                        <ext:TextField ID="txtEndExpiredDateE" runat="server" Cls="TextBox_rtl" Width="75">
                                                        </ext:TextField>
                                                    </td>
                                                    <td>
                                                       </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                </table>
                            </center>
                        </Content>
                    </ext:Panel>
                </Items>
                <BottomBar>
                    <ext:Toolbar ID="Toolbar1" runat="server" Flat="true">
                        <Items>
                            <ext:Button ID="btnSearch" runat="server" Text="  جستجو  " IconCls="icon_find" IconAlign="Right">
                                
                            </ext:Button>
                        </Items>
                    </ext:Toolbar>
                </BottomBar>
            </ext:TabPanel>
            <ext:Panel ID="Panel22" runat="server" Region="North" Frame="true" Collapsible="true"
                 Title="لیست تخفیفات"     >
                <Content>
                    <center>
                        <ext:GridPanel ID="dgsearch" runat="server" Title="لیست تخفیفات" Height="500" >
                            <Store>
                                <ext:Store runat="server" ID="dgstore" RemoteSort="true" PageSize="2" >
                                    <Model>
                                        <ext:Model IDProperty="ID">
                                            <Fields>
                                                <ext:ModelField Name="offerCode" />
                                                <ext:ModelField Name="offerTitle" />
                                                <ext:ModelField Name="UserName" />
                                                <ext:ModelField Name="Extenuating" />
                                                <ext:ModelField Name="DiscountPercent" />
                                                <ext:ModelField Name="Priority" />
                                                <ext:ModelField Name="ExpiredDate" />
                                                <ext:ModelField Name="BasesTitle" />
                                                <ext:ModelField Name="BasesID" />
                                            </Fields>
                                        </ext:Model>
                                    </Model>
                                </ext:Store>
                            </Store>
                            <ColumnModel ID="ColumnModel1" runat="server">
                                <Columns>
                                    <ext:Column runat="server" DataIndex="offerCode" Header="کد تخفیف" Align="Center"
                                        Resizable="false" />
                                    <ext:Column runat="server" DataIndex="offerTitle" Header="عنوان تخفیف" Align="Center"
                                        Resizable="false" Width="200px" />
                                    <ext:Column runat="server" DataIndex="UserName" Header="نام کاربری" Align="Center"
                                        Resizable="false" />
                                    <ext:Column runat="server" DataIndex="Extenuating" Header="تخفیف دهنده" Align="Center"
                                        Resizable="false" Width="150px" />
                                    <ext:Column ID="Column1" runat="server" 
                                        Header="تاریخ پایان اعتبار" Align="Center" Resizable="false" />
                                    <ext:Column ID="Column2" runat="server" DataIndex="DiscountPercent" Header="درصد تخفیف"
                                        Align="Center" Resizable="false" />
                                    <ext:Column ID="Column3" runat="server" DataIndex="Priority" Header="الویت" Align="Center"
                                        Resizable="false" />
                                    <ext:Column ID="Column4" runat="server" DataIndex="BasesTitle" Header="سایت" Align="Center"
                                        Resizable="false" Width="100px" />
                                    <ext:Column Align="Center" Width="20px" runat="server">
                                        <Commands>
                                            <ext:ImageCommand Icon="NoteEdit" CommandName="Edit" ToolTip-Text="ویرایش">
                                            </ext:ImageCommand>
                                        </Commands>
                                        
                                    </ext:Column>
                                    <ext:Column Header="عملیات" Align="Center" Width="40px" runat="server" ID="operationcol">
                                        <Commands>
                                            
                                            <ext:ImageCommand Icon="BulletGreen" CommandName="Active" ToolTip-Text="فعال/غیر فعال" />
                                        </Commands>
                                        
                                        
                                    </ext:Column>
                                </Columns>
                            </ColumnModel>
                            <TopBar>
                                <ext:Toolbar ID="Toolbar2" runat="server" StyleSpec="direction:rtl">
                                    <Items>
                                        <ext:ToolbarFill />
                                        <ext:Button ID="btnNewOffer" runat="server" Icon="Add" Text="ثبت تخفیف جدید" IconAlign="Right">
                                            
                                        </ext:Button>
                                        <ext:Button ID="btnDelete" runat="server" Icon="Delete" Text="حذف" IconAlign="Right"
                                            StandOut="true">
                                            <DirectEvents>
                                                <Click OnEvent="btnDelete_Click">
                                                    <EventMask ShowMask="true" />
                                                </Click>
                                            </DirectEvents>
                                        </ext:Button>
                                    </Items>
                                </ext:Toolbar>
                            </TopBar>
                            <SelectionModel >
                                <ext:CheckboxSelectionModel ID="CheckboxSelectionModel1" runat="server" Mode="Multi"  >
                                </ext:CheckboxSelectionModel> 
                            </SelectionModel>
                            <BottomBar>
                                <ext:PagingToolbar ID="PagingToolbar1" runat="server" DisplayInfo="false" >
                                    <Items >
                                        <ext:Label runat="server" Text="تعداد" />
                                        <ext:ToolbarSpacer runat="server" Width="10" />
                                        <ext:ComboBox runat="server" ID="PageSize">
                                            <Items>
                                                <ext:ListItem Text="2"/>
                                                <ext:ListItem Text="15"/>
                                                <ext:ListItem Text="20"/>
                                                <ext:ListItem Text="25"/>
                                                <ext:ListItem Text="30"/>
                                            </Items>
                                            <SelectedItems >
                                                <ext:ListItem Text="15" />
                                            </SelectedItems>
                                            <Listeners >
                                                <Select Handler="#{dgsearch}.store.pageSize =2; #{dgsearch}.store.reload();" />
                                            </Listeners>
                                        </ext:ComboBox> 
                                    </Items>
                                </ext:PagingToolbar>
                            </BottomBar>
                        </ext:GridPanel>
                        <ext:Window runat="server" ID="myWind" Title="نمایش تخفیف" Width="800" Height="450"
                            Layout="FitLayout" Modal="true" Collapsible="true" Maximizable="true" Hidden="true">
                        </ext:Window>
                    </center>
                </Content>
            </ext:Panel>
        </Items>
    </ext:Viewport>
    and this code in cs file
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Data;
    using Ext.Net;
    
    public partial class _Default:System.Web.UI.Page
    {
    
    protected void Page_Load(object sender,EventArgs e)
    {
    DataTable dt=new DataTable();
    dt.Columns.Add("ID");
    dt.Columns.Add("BasesID");
    dt.Columns.Add("offerTitle");
    dt.Columns.Add("offerCode");
    
    DataRow row1=dt.NewRow();
    row1["ID"]="1";
    row1["BasesID"]="1";
    row1["offerTitle"]="تخفیف";
    row1["offerCode"]="123";
    dt.Rows.Add(row1);
    
    DataRow row2=dt.NewRow();
    row2["ID"]="2";
    row2["BasesID"]="1";
    row2["offerTitle"]="تخفیف1";
    row2["offerCode"]="1234";
    dt.Rows.Add(row2);
    
    dgstore.DataSource=dt;
    dgstore.DataBind();
    }
    
    protected void btnDelete_Click(object sende, DirectEventArgs e)
        {
            System.Text.StringBuilder result = new System.Text.StringBuilder();
            CheckboxSelectionModel sm = this.dgsearch.GetSelectionModel() as CheckboxSelectionModel;
    
            foreach (SelectedRow row in sm.SelectedRows)
            {
                result.Append("<li>" + row.RecordID + "</li>");
            }
    
    
        }
    
    }
  8. #8
    Yes, it is runnable. Thank you. Though it is not simplified. I believe only a GridPanel is required to reproduce the issue. Are all those Panels and markup required? Are those amount of Columns and ModelFields required? I don't think so.

    As for the issue. There must be
    <form runat="server">
    on the page to get the stuff automatically submittable.

    So, you can wrap the Viewport inside a form.

    Another issue with your test case which I noticed at the first glance.

    - There should be <html>, <head> and <body> tags in your page.

    - A BorderLayout requires a Center region.

Similar Threads

  1. Replies: 3
    Last Post: Oct 05, 2012, 11:44 AM
  2. Replies: 1
    Last Post: Mar 11, 2012, 3:03 AM
  3. Replies: 2
    Last Post: Dec 01, 2011, 1:00 PM
  4. Replies: 0
    Last Post: Sep 01, 2010, 2:35 PM
  5. Replies: 2
    Last Post: Jun 09, 2010, 7:34 AM

Tags for this Thread

Posting Permissions