GridView ASP.NET Web表单中的TemplateField



我在模板字段中遇到问题,在该字段中,我在网格视图中创建了一个连续的数据链接。当我第一次运行页面时,它可以正常工作,但是稍后,当我隐藏了该网格视图中的其他一些列时,我想返回我的第一个视图(我显示所有隐藏的列(的矿床代码,后面。但是查询该网格是相同的,列是相同的。当我隐藏并在代码中添加一些列时,它总是发生。

,如果您能帮助我,我将非常感激。

              <asp:TemplateField HeaderText="zz" Visible="False">
                <ItemTemplate>
                 <asp:Label ID="Label_typ" runat="server"
                 Text='<%# Eval("TYP") %>'></asp:Label> 
                    <br> </br>
                 </ItemTemplate>
            </asp:TemplateField>

女巫背后的代码使我的所有代码复杂化。没有它,它可以正常工作。

        if (actualYear.Equals(dd_rok22.SelectedValue))
        {
            int numberOfWeek = 1;
            for (int i = Convert.ToInt32(actualMonth); i <= 12; i++)
            {
                GRID_VIEW_MAKRO.Columns[i + 7].Visible = false;
                if (i == Convert.ToInt32(actualMonth))
                {
                    int numberColumnActual = i;
                    BoundField field2 = new BoundField();
                    GRID_VIEW_MAKRO.Columns.Insert(numberColumnActual + 3, field2);
                    for (int j = 1; j <= weekNumberActualMonth; j++)
                    {
                        BoundField field = new BoundField();
                        GRID_VIEW_MAKRO.Columns.Insert(numberColumnActual + 3, field);
                        field.HeaderText = "M" + actualMonth + "_T" + numberOfWeek;
                        field.DataFormatString = "{0:###,###}";
                        numberColumnActual++;
                        numberOfWeek++;
                    }
                    for (int numberOfWeekPrevious = numberOfWeek; numberOfWeekPrevious <= 4; numberOfWeekPrevious++)
                    {
                        BoundField field = new BoundField();
                        GRID_VIEW_MAKRO.Columns.Insert(numberColumnActual + 2, field);
                        field.HeaderText = "M" + previousMonth2 + "_T" + numberOfWeek;
                        field.DataFormatString = "{0:###,###}";
                        numberOfWeek++;
                        numberColumnActual++;
                    }
                }
            }
        }

,例外显示了我创建标签女巫的何时,因为templateField具有空值。

protected void OnRowCreated(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            string mregion= DataBinder.Eval(e.Row.DataItem, "MAKRO_NAME").ToString();


            Label lbl = (Label)e.Row.FindControl("Label_typ");
            string CellValue = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "ROK"));
//it cannot Trim me null value..
            string ID = lbl2.Text.Trim() + '_' + lbl3.Text.Trim();
            e.Row.Attributes.Add("onclick", "top.location.href='report_se.aspx?nazwa=" + ID + "&ye=" + CellValue + "';");

        }
    }

1(使某些字段可见false不应在运行时间创建任何错误。

2(对于空指针异常,我认为您正在尝试打字null值。如果您的任何字段都包含空值,则建议在分类之前对其进行检查。

最新更新