使用sqlCommand在动态gridview中更改headertext

时间:2011-04-12 09:40:45

标签: c# gridview headertext

我创建了一个动态网格视图,我通过电子邮件发送。但是除了headertext之外的所有作品。我似乎无法找到如何定义headertext。

我的sqlCommand显示4列,但是当我使用时:

 LabelTest.Text = "Init Count: " +grd.Columns.Count;

显示,Init Count:0

所以我试图设置grd.Columns[0].HeaderText = "Something";来设置headertext但似乎没什么用。我也尝试将0更改为3,4,5但同样的问题。

错误是:

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.Collections.ArrayList.get_Item(Int32 index) at..

任何想法?谢谢。


编辑:我如何创建gridview:

GridView grd = new GridView();

        // Css style voor de gridview

        grd.BorderStyle = System.Web.UI.WebControls.BorderStyle.None;
        grd.GridLines = GridLines.None;
        grd.RowStyle.HorizontalAlign = HorizontalAlign.Center;

        grd.Columns[0].HeaderText = "Something"; //error
        grd.Width = 600;
        LabelTest.Text = "Init Count: " +grd.Columns.Count;

        foreach (DataControlField field in grd.Columns)
        {
            field.ItemStyle.Width = Unit.Percentage(100 / grd.Columns.Count);
        }

        if (sendGrid != null)
        {
            grd.DataSource = sendGrid.ExecuteReader();
            grd.DataBind();
        }

sendGrid是我的sqlCommand的名称,我在其中选择了4列。

foreach语句只会使我的列彼此分开一点。除此之外,我没有指定任何列来设置headertext。

1 个答案:

答案 0 :(得分:0)

如果您使用的是

  

的DataControlField

添加列设置其

  

RowHeaderColumn

属性然后将其添加到GridView。