您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        
/*正式版的实现 开始*/
using System; 
using System.Collections.Generic; 
using System.Text; 
 
using System.Web.UI.WebControls; 
using System.Web.UI; 
 
namespace YYControls.SmartGridViewFunction 
{ 
        /// <summary> 
        /// 扩展功能:联动复选框(复选框的全选和取消全选) 
        /// </summary> 
        public class CascadeCheckboxFunction : ExtendFunction 
        { 
                /// <summary> 
                /// 构造函数 
                /// </summary> 
                public CascadeCheckboxFunction() 
                        : base() 
                { 
 
                } 
 
                /// <summary> 
                /// 构造函数 
                /// </summary> 
                /// <param name="sgv">SmartGridView对象</param> 
                public CascadeCheckboxFunction(SmartGridView sgv) 
                        : base(sgv) 
                { 
 
                } 
 
                /// <summary> 
                /// 扩展功能的实现 
                /// </summary> 
                protected override void Execute() 
                { 
                        this._sgv.PreRender += new EventHandler(_sgv_PreRender); 
                } 
 
                /// <summary> 
                /// SmartGridView的PreRender事件 
                /// </summary> 
                /// <param name="sender"></param> 
                /// <param name="e"></param> 
                void _sgv_PreRender(object sender, EventArgs e) 
                { 
                        // 构造向数组中添加成员的脚本 
                        string scriptString = ""; 
                        foreach (CascadeCheckbox cc in this._sgv.CascadeCheckboxes) 
                        { 
                                scriptString += String.Format("yy_sgv_ccGridView_pre.push('{0}');", Helper.Common.GetChildControlPrefix(this._sgv)); 
                                scriptString += String.Format("yy_sgv_ccAll_post.push('{0}');", cc.ParentCheckboxID); 
                                scriptString += String.Format("yy_sgv_ccItem_post.push('{0}');", cc.ChildCheckboxID); 
                        } 
 
                        // 注册向数组中添加成员的脚本 
                        if (!this._sgv.Page.ClientScript.IsClientScriptBlockRegistered(String.Format("yy_sgv_cascadeCheckbox_{0}", this._sgv.ID))) 
                        { 
                                this._sgv.Page.ClientScript.RegisterClientScriptBlock 
                                ( 
                                        this._sgv.GetType(), 
                                        String.Format("yy_sgv_cascadeCheckbox_{0}", this._sgv.ID), 
                                        scriptString, 
                                        true 
                                ); 
                        } 
                } 
        } 
}
/*正式版的实现 结束*/
/*测试版的实现 开始*/
[ToolboxData(@"<{0}:SmartGridView runat='server'></{0}:SmartGridView>")] 
public class SmartGridView : GridView 
{ 
}
using System; 
using System.Collections.Generic; 
using System.Text; 
 
namespace YYControls.SmartGridView 
{ 
        /// <summary> 
        /// javascript 
        /// </summary> 
        public class JavaScriptConstant 
        { 
                internal const string jsCheckAll = @"<script type=""text/javascript""> 
                //<![CDATA[ 
 
                // 隐藏字段的ID,用于存每组的全选复选框ID 
                var hdnAllName = '[$AllName$]'; 
                // 隐藏字段的ID,用于存每的项复选框ID 
                var hdnItemName = '[$ItemName$]'; 
                // 组分隔符,一个 全选复选框 和其对应的n个 项复选框 为一个组 
                var groupSeparator = '[$GroupSeparator$]'; 
                // 项分隔符,项复选框 每个项之间的分隔符 
                var itemSeparator = '[$ItemSeparator$]'; 
 
                var strAlls = GetObject(hdnAllName).value; 
                var strItems = GetObject(hdnItemName).value; 
 
                // 全选复选框数组 
                var aryAlls = strAlls.split(groupSeparator); 
                // 项复选框数组,每行有一个组的所有项复选框 
                var aryItems = strItems.split(groupSeparator); 
 
                // 全选复选框被单击,参数为 该全选复选框这个对象 
                function ClickCheckAll(objAll) 
                { 
                        // 每个全选复选框 
                        for (var i=0; i<aryAlls.length; i++) 
                        { 
                                // 该全选复选框是所单击的全选复选框 
                                if (aryAlls[i] == objAll.id) 
                                { 
                                        // 该全选复选框同组下的项复选框数组 
                                        aryItem = aryItems[i].split(itemSeparator); 
                                        for (var j=0; j<aryItem.length; j++) 
                                        { 
                                                // 单击的全选复选框是选中状态,并且项复选框不是disabled,则选中 
                                                if (objAll.checked && !GetObject(aryItem[j]).parentElement.disabled) 
                                                { 
                                                        GetObject(aryItem[j]).checked = true; 
                                                } 
                                                // 否则 
                                                else 
                                                { 
                                                        GetObject(aryItem[j]).checked = false; 
                                                } 
                                        } 
                                 
                                        break; 
                                } 
                        } 
                } 
 
                // 项复选框被单击 
                function ClickCheckItem() 
                { 
                        // 每组项复选框 
                        for (var i=0; i<aryItems.length; i++) 
                        { 
                                // 该组的所有项复选框数组 
                                aryItem = aryItems[i].split(itemSeparator); 
                                // 标记,是否同组的项复选框都被选中 
                                var bln = true; 
                                for (var j=0; j<aryItem.length; j++) 
                                { 
                                        // 如果该项复选框没被选中,并且不是disabled,则bln设为false 
                                        if (!GetObject(aryItem[j]).checked && !GetObject(aryItem[j]).parentElement.disabled) 
                                        { 
                                                bln = false; 
                                                break; 
                                        } 
                                } 
                                 
                                // bln为true,则设置同组的全选复选框为选中 
                                if (bln) 
                                { 
                                        GetObject(aryAlls[i]).checked = true; 
                                } 
                                // 否则 
                                else 
                                { 
                                        GetObject(aryAlls[i]).checked = false; 
                                } 
                        } 
                } 
 
                function GetObject(param) 
                { 
                        return document.getElementById(param); 
                } 
 
                //]]> 
                </script>"; 
        } 
}
using System; 
using System.Collections.Generic; 
using System.Text; 
 
using System.ComponentModel; 
using System.Web.UI; 
 
namespace YYControls.SmartGridView 
{ 
        /// <summary> 
        /// CheckboxAll 的摘要说明。 
        /// </summary> 
        [ToolboxItem(false)] 
        public class CheckboxAll 
        { 
                private string _checkboxAllID; 
                /// <summary> 
                /// 模板列全选复选框ID 
                /// </summary> 
                public string CheckboxAllID 
                { 
                        get { return _checkboxAllID; } 
                        set { _checkboxAllID = value; } 
                } 
 
                private string _checkboxItemID; 
                /// <summary> 
                /// 模板列项复选框ID 
                /// </summary> 
                public string CheckboxItemID 
                { 
                        get { return _checkboxItemID; } 
                        set { _checkboxItemID = value; } 
                } 
 
                /// <summary> 
                /// ToString() 
                /// </summary> 
                /// <returns></returns> 
                public override string ToString() 
                { 
                        return "CheckboxAll"; 
                } 
        } 
}免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。