zoukankan      html  css  js  c++  java
  • ext.net 实现gridpanel checkbox锁定

    <%@ 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)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataSource = new object[] 
                { 
                    new object[] { "test1", "test2", "test3" },
                    new object[] { "test4", "test5", "test6" },
                    new object[] { "test7", "test8", "test9" },
                };
                store.DataBind();
            }
        }
    </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>
    
        <script type="text/javascript">
            var myIsLocked = function (colIndex) {
                var c = this.config[colIndex];
    
                if (c instanceof Ext.grid.CheckboxSelectionModel) {
                    
                    return true;
                }
    
                return this.config[colIndex].locked === true;
            };
    
            var onViewReady = function (grid) {
                var sm = grid.getSelectionModel();
                
                Ext.fly(grid.getView().innerHd).un("mousedown", sm.onHdMouseDown, sm);
                Ext.fly(grid.getView().lockedHd).on("mousedown", sm.onHdMouseDown, sm);
            };
    
            var myCheckHeader = function () {
                var view = this.grid.getView(),
                    t = Ext.fly(view.lockedHd).child(".x-grid3-hd-checker"),
                    isChecked = t.hasClass("x-grid3-hd-checker-on");
    
                if (!isChecked) {
                    t.addClass("x-grid3-hd-checker-on");
                }
            };
    
            var myUncheckHeader = function () {
                var view = this.grid.getView(),
                    t = Ext.fly(view.lockedHd).child(".x-grid3-hd-checker"),
                    isChecked = t.hasClass("x-grid3-hd-checker-on");
    
                if (isChecked) {
                    t.removeClass("x-grid3-hd-checker-on");
                }
            };
        </script>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
            <ext:GridPanel ID="GridPanel1" runat="server" Height="200">
                <Store>
                    <ext:Store runat="server">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="test1" />
                                    <ext:RecordField Name="test2" />
                                    <ext:RecordField Name="test3" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column Header="Test1" DataIndex="test1" Locked="true" />
                        <ext:Column Header="Test2" DataIndex="test2" />
                        <ext:Column Header="Test3" DataIndex="test3" />
                    </Columns>
                    <CustomConfig>
                        <ext:ConfigItem Name="isLocked" Value="myIsLocked" Mode="Raw" />
                    </CustomConfig>
                </ColumnModel>
                <View>
                    <ext:LockingGridView runat="server" />
                </View>
                <SelectionModel>
                    <ext:CheckboxSelectionModel ID='checkcolumn' runat="server">
                        <CustomConfig>
                            <ext:ConfigItem Name="checkHeader" Value="myCheckHeader" Mode="Raw" />
                            <ext:ConfigItem Name="uncheckHeader" Value="myUncheckHeader" Mode="Raw" />
                        </CustomConfig>    
                    </ext:CheckboxSelectionModel>
                </SelectionModel>
                <Listeners>
                    <ViewReady Fn="onViewReady" />
                </Listeners>
            </ext:GridPanel>
        </form>
    </body>
    </html>

    Ext.apply(checkcolumn, { locked: true });也可以锁定到左边,但是无法点击操作。

  • 相关阅读:
    如何使用EF?
    在一般处理程序中使用session
    C# base64 加密解密
    C#操作WMI文章汇总
    ASP.NET图片防盗链(使用一般处理程序)
    前台生成验证码
    .正则
    iframe标签的初试
    sqli-labs5-10(全程sqlmap)
    sql注入文件写入和读取
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/9884141.html
Copyright © 2011-2022 走看看