asp.net中的GridView头文本

时间:2011-03-29 16:59:07

标签: c# asp.net gridview header dynamic

嘿伙计们, 我想使用Design {从<TemplateField HeaderText="">

更改gridview的标题文本

我在代码后面创建了一个变量,该变量是公共的,并在该变量中设置值,然后我尝试在此处调用该变量,如下所示:

<TemplateField HeaderText = '<%= VariableCallHere %>'

但在运行页面时,我得到&lt;%= VariableCallHere%&gt;作为标题文本 即使我尝试使用gridView1.HeaderRow.Cells[0].Text = "text Here"进行更改(这会引发对象引用错误)

任何人都有任何建议如何实现这一目标。

5 个答案:

答案 0 :(得分:8)

应为gridview1.Columns[ColumnIndex].HeaderText = "Header text";

答案 1 :(得分:3)

为此,在gridview控件的RowDataBound事件中,您需要 写如下:

if (e.Row.RowType == DataControlRowType.Header)
{
  e.Row.Cells[0].Text = "column 1";
  e.Row.Cells[1].Text = "column 2";
  .....
}

答案 2 :(得分:0)

通过列集合访问它:

gridview1.Columns[Index].HeaderText= "text Here";

如:

gridview1.Columns[0].HeaderText= "text Here";

答案 3 :(得分:0)

我正在使用它这样的多语言它工作正常没有必要额外的工作迭代行只是把它放在那里让它做的工作

<asp:BoundField DataField="TITLE_NAME" HeaderText="<%$ Resources:Site,lblTitleName %>"
                            ItemStyle-Width="20%">
   <HeaderStyle HorizontalAlign="Left" />
</asp:BoundField>

答案 4 :(得分:0)

       if (e.Row.RowType == DataControlRowType.Header)
        {                
            Label lblAddInText = (Label)e.Row.FindControl("lblAddInText");
            lblAddInText.Text = "ADD IN TEXT" 
        }

在Gridview的RowCreated事件中。使用和标签。