【问题标题】:GridView.Columns[index].HeaderText Throws "Index was out of range" ErrorGridView.Columns[index].HeaderText 引发“索引超出范围”错误
【发布时间】:2011-01-03 15:22:50
【问题描述】:
    gvOff.DataSource = o.ViewData(dCity.SelectedValue);
    gvOff.DataBind();
    gvOff.Columns[0].HeaderText = "ZZZZZZZZ";
    gvOff.Columns[1].HeaderText = "YYYYYYYY";
    gvOff.Columns[2].HeaderText = "XXXXXXXX";

标题计数正确。

AutoGenerateColumns:Flase/True(我都试过了)

如果我删除 gvOff.Columns[index].HeaderText 部分,GridView 工作正常,但是当我放置 gvOff.Columns[0].HeaderText 时,我得到异常错误。

你能帮忙吗,我无法解决。如果您需要更多信息,请告诉我。


已编辑:

等一下!我评论了 HeaderText 部分并进行了测试

int i = gvOffer.Columns.Count;

我发现计数为 0,即使列使用 DataBind() 打印出来...为什么?

注意:在这种情况下,AutoColumn 设置为 true。我想我将不得不编辑该列 数据表中的名称。

【问题讨论】:

  • 您确定数据源有效且列数 > 0?
  • 等一下!我评论了 HeaderText 部分并进行了测试: int i = gvOffer.Columns.Count;我发现计数为 0,即使列使用 DataBind() 打印出来...为什么?

标签: c# .net asp.net


【解决方案1】:

已解决 .... 我只是使用 SQL 查询别名更改了列名,然后这反映在我的应用程序中。例如:

SELECT orderID AS [XXXXX], name AS [YYYYY] FROM TableName

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多