技术开发 频道

展GridView控件-弹出确认框

[IT168 技术文档]扩展GridView控件(三)——单击命令按钮弹出确认框

作者:webabcd


介绍
给按钮增加单击弹出确认框的功能是经常要用到的,我们一般是通过在RowDataBound事件里编码的方式实现,麻烦,所以扩展一下。


控件开发
1、新建一个继承自GridView的类。

/// <summary>
/// 继承自GridView
/// </summary>

[ToolboxData(@"<{0}:SmartGridView runat='server'></{0}:SmartGridView>")]
public class SmartGridView : GridView
{
}

2、新建一个ConfirmButton类,有两个属性
    /// <summary>
    
/// ConfirmButton 的摘要说明。
    
/// </summary>

    [ToolboxItem(false)]
    [TypeConverter(
typeof(ConfirmButtonConverter))]
    
public class ConfirmButton
    
{
        
private string _commandName;
        
/// <summary>
        
/// 按钮的CommandName
        
/// </summary>

        public string CommandName
        
{
            
get return this._commandName; }
            
set this._commandName = value; }
        }


        
private string _confirmMessage;
        
/// <summary>
        
/// 确认框弹出的信息
        
/// </summary>

        public string ConfirmMessage
        
{
            
get return this._confirmMessage; }
            
set this._confirmMessage = value; }
        }

    }

3、新建一个继承自CollectionBase的类ConfirmButtons
    /// <summary>
    
/// ProjectGroups 的摘要说明。
    
/// 注意要继承自CollectionBase
    
/// </summary>

    [
    ToolboxItem(
false),
    ParseChildren(
true)
    ]
    
public class ConfirmButtons : CollectionBase
    
{
        
/// <summary>
        
/// 构造函数
        
/// </summary>

        public ConfirmButtons()
            : 
base()
        
{
        }


        
/// <summary>
        
/// 实现IList接口
        
/// 获取或设置指定索引处的元素。
        
/// </summary>
        
/// <param name="index">要获得或设置的元素从零开始的索引</param>
        
/// <returns></returns>

        public ConfirmButton this[int index]
        
{
            
get
            
{
                
return (ConfirmButton)base.List[index];
            }

            
set
            
{
                
base.List[index] = (ConfirmButton)value;
            }

        }


        
/// <summary>
        
/// 实现IList接口
        
/// 将某项添加到 System.Collections.IList 中。
        
/// </summary>
        
/// <param name="item">要添加到 System.Collections.IList 的 System.Object。</param>

        public void Add(ConfirmButton item)
        
{
            
base.List.Add(item);
        }


        
/// <summary>
        
/// 实现IList接口
        
/// 从 System.Collections.IList 中移除特定对象的第一个匹配项。
        
/// </summary>
        
/// <param name="index">要从 System.Collections.IList 移除的 System.Object</param>

        public void Remove(int index)
        
{
            
if (index > -1 && index < base.Count)
            
{
                
base.List.RemoveAt(index);
            }

        }

    }

0
相关文章