博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

动态添加列

Posted on 2010-04-01 09:52  一刻  阅读(80)  评论(0)    收藏  举报

 protected new void GvReportRowCreated(object sender, GridViewRowEventArgs e)
        {
            var myweekbasis = ViewState["MyWeekBasis"] as List<MyWeekBasis>;
            var myteacherskip = ViewState["MyTeacherSkip"] as List<MyTeacherSkip>;
            var mystructure = ViewState["MyStructure"] as List<MyStructure>;
            foreach (var w in myweekbasis)
            {
                if (e.Row.RowType == DataControlRowType.Header)
                {
                    var tc = new TableCell
                             {
                                 Text = w.WeekName
                             };
                    e.Row.Controls.Add(tc);
                }
                else if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    var PeriodID = new Guid(this.GvReport.DataKeys[e.Row.RowIndex].Values["ID"].ToString());
                    var tc = new TableCell();
                    if (mystructure.Where(c => c.WeekId == w.WeekId && c.PeriodId == PeriodID).FirstOrDefault() != null)
                    {
                        var drplst = new DropDownList();
                        drplst.ID = "Drplst" + w.WeekId + "_" + PeriodID;
                        drplst.Items.Add(new ListItem(string.Empty, "0"));
                        drplst.Items.Add(new ListItem("不上课", "1"));
                        var myskip = myteacherskip.Where(c => c.WeekID == w.WeekId && c.PeriodID == PeriodID).Select(d => d.SkipId).FirstOrDefault();
                        if (myskip != Guid.Empty)
                        {
                            drplst.SelectedValue = decimal.One.ToString();
                        }

                        tc.Controls.Add(drplst);
                    }

                    e.Row.Controls.Add(tc);
                }
            }
        }