我的数据结构如下:
Calendar MonthHours  projectNo      subTeam1(Hours)   subTeam2(Hours)    subTeam3(Hours) .....subTeamn(Hours)
--------  --------   -----------    ------------    -----------        -----------
2012-05   160            6666        30             50              40                ......  20
2012-06   176            6666        40             30              30                ......  50
2012-07   168            6666        20             40              20                ......  40
.......List.Columns.Clear();                    BoundField wpnobf = new BoundField();
                    wpnobf.DataField = "WPMonth";
                    wpnobf.HeaderText = "Calendar";
                    List.Columns.Add(wpnobf);                    BoundField companyhoursbf = new BoundField();
                    companyhoursbf.DataField = "currentmonthhours";
                    companyhoursbf.HeaderText = "MonthHours";
                    List.Columns.Add(companyhoursbf);                    dt = project.GetSubTeamName(wpNo);
                    foreach (DataRow dr in dt.Rows)
                    {
                        TemplateField subteamField = new TemplateField();
                        subteamField.ShowHeader = true;
                       
                        subteamField.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, dr[0].ToString(), dr[0].ToString());//添加的列标题                         GridViewTemplate gvt = new GridViewTemplate(DataControlRowType.DataRow, dr[0].ToString(), dr[0].ToString());
                        subteamField.ItemTemplate = gvt;                        List.Columns.Add(subteamField);
                    }public class GridViewTemplate : ITemplate  
{
        public delegate void EventHandler(object sender, EventArgs e);  
            public event EventHandler eh;  
            private DataControlRowType templateType;  
            private string columnName;  
            private string controlID;              public GridViewTemplate(DataControlRowType type, string colname)  
            {  
                templateType = type;  
                columnName = colname;  
            }              public GridViewTemplate(DataControlRowType type, string controlID, string colname)  
            {  
                templateType = type;  
                this.controlID = controlID;  
                columnName = colname;  
            } 
 
           public void InstantiateIn(System.Web.UI.Control container)  
           {  
               switch (templateType)  
                {  
                    case DataControlRowType.Header:  
                        Literal lc = new Literal();  
                        lc.Text = columnName;
                        lc.ID = controlID;
                        container.Controls.Add(lc);  
                       break;                     case DataControlRowType.DataRow://可以定义自己想显示的控件以及绑定事件 
                       TextBox tb = new TextBox();
                       tb.ID = columnName;
                       tb.ID = controlID;
                       container.Controls.Add(tb);
                        break;  
                   default:  
                        break;  
                }  
            }
}---------------------------------------------------
 string subTeamName = string.Empty;
string monthlyHours = string.Empty;
for (int k = 3; k < this.List.Columns.Count; k++)
 {
    subTeamName = this.List.Columns[k].HeaderText; for (int m = 0; m < this.List.Rows.Count; m++)
 {
   string calenar = this.List.Rows[m].Cells[0].Text;
   monthlyHours = ((TextBox)this.List.Rows[m].FindControl(subTeamName)).Text;
 }
 }这个为什么取不到绑定的TextBox中的值呢?