现在的位置: 首页 > 综合 > 正文

给GridView添加行单击事件

2011年05月01日 ⁄ 综合 ⁄ 共 1829字 ⁄ 字号 评论关闭
功能:

1:添加行单击事件
2:获取行里面的单元格值

主要代码:
  

  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    
{
        Button btnHiddenPostButton 
= e.Row.FindControl("btnHiddenPostButton"as Button;
        
if (btnHiddenPostButton != null{
            e.Row.Attributes[
"onclick"= String.Format("javascript:document.getElementById('{0}').click()", btnHiddenPostButton.ClientID);
            
// 额外样式定义
            e.Row.Attributes["onmouseover"= "javascript:this.style.background='red'";
            e.Row.Attributes[
"onmouseout"= "javascript:this.style.background=''";
            e.Row.Attributes[
"style"= "cursor:pointer";
            e.Row.Attributes[
"title"= "单击选择当前行";
        }

        
// 若希望将隐藏按钮单独放于一列,则设置此列隐藏,占位符 <cellIndex> 表示此列索引
        
//e.Row.Cells[<cellIndex>].Attributes["style"] = "display:none";
    }


    
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    
{
        
        GridViewRow row 
= null;

        Label lbl 
= null;
        
switch (e.CommandName) {            
            
case "HiddenPostButtonCommand"// 模板列                
                Control cmdControl = e.CommandSource as Control; // 表示触发事件的 IButtonControl,保持统一性并便于后续操作,我们这里直接转化为控件基类 Control
                row = cmdControl.NamingContainer as GridViewRow; // 当前行
                
// 如何访问单元格值
                
// string txt = row.Cells[0].Text;
                
// 如何获取模板列中的 Label
                  lbl = row.FindControl("MyLabelID"as Label;
                
// 执行更多的自定义操作
                
// 
                
// 
                 string txt = lbl.Text.ToString();
                Response.Write(txt);
                Response.Write(String.Format(
"GridView Version 当前第 {0} 行:", row.RowIndex + 1));
                
break;
            
// case "Command2":
            
// more cases
            
//                 
        }

    }

源代码下载

抱歉!评论已关闭.