2011-08-02 80 views
0

我有Gridview设置为自动生成列= true我已经创建了一些columna nd页脚的动态文本框现在恩我点击页脚按钮gridview rowcommand事件没有被解雇,要发射这个命令我必须绑定再次gridview的,但是当我绑定了我的价值观,我有文本框的变化了.. 下面是我的代码RowDataBound事件Gridview动态控件问题

protected void grdMaterialPercentage_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (grdMaterialPercentage.AutoGenerateColumns == true) 
     { 
      if (e.Row.RowType == DataControlRowType.Header) 
      { 
       e.Row.Cells[0].Visible = false; 
      } 

      if (e.Row.RowType == DataControlRowType.DataRow) 
      { 
       e.Row.Cells[0].Visible = false; 
       if (DataBinder.Eval(e.Row.DataItem, "AgentName").ToString() != string.Empty) 
       { 
        int i = 0; 
        foreach (TableCell c in e.Row.Cells) 
        { 
         if (i >= 3) 
         { 
          TextBox tb = new TextBox(); 
          tb.Text = c.Text; 
          tb.ID = "txtbox" + i.ToString(); 
          tb.Style.Add("Width", "25px"); 
          tb.Style.Add("Height", "15px"); 
          c.Controls.Clear(); 
          c.Controls.Add(tb); 

         } 
         i++; 
        } 
       } 
       else 
       { 
        e.Row.Visible = false; 
       } 
      } 

      if (e.Row.RowType == DataControlRowType.Footer) 
      { 
       e.Row.Cells[0].Visible = false; 
       int j = 0; 
       foreach (TableCell c in e.Row.Cells) 
       { 

        if (j >= 3) 
        { 
         DataRow dr = dt.Rows[dt.Rows.Count - 1]; 
         LinkButton btn = new LinkButton(); 

         btn.ID = "FooterButton" + j.ToString(); 

         btn.CommandName = j.ToString(); 
         btn.Text = "Save" + dr[j - 1].ToString(); 
         btn.CssClass = "button"; 
         btn.Style.Add("align", "center"); 
         btn.CommandArgument = dr[j - 1].ToString(); 
         btn.OnClientClick = "return ValidateTotalPercentage('" + j + "')"; 
         c.Controls.Clear(); 
         c.Controls.Add(btn); 

        } j++; 
       } 
      } 
     } 
    } 

回答

0

我建议你使用一个工具,如Firebug的,看看有什么是引擎盖下发生与当你点击网格上的链接时你的Javascript。这是我会在你的鞋子里做的。