我有一个GridView,我想从中获取列标题的文本。

for (int j = 0; j < grdToDisplay.HeaderRow.Cells.Count; j++)
{
    string s = grdToDisplay.HeaderRow.Cells[j].Text.ToString(); //Returns ""
    s = grdToDisplay.HeaderRow.Cells[j].Text; //Returns ""
    s = grdToDisplay.Rows[0].Cells[j].Text; //Returns text from first row of results not the header
   // s = grdToDisplay.Columns[j].HeaderText.ToString(); // does not work as column count is 0
}

GridView内容是在运行时根据用户查询生成的。 header 可单击以进行排序。

如何循环GridView并列出列标题文本?

最佳答案

您可以使用 GridViewColumn.HeaderText

for (int i = 0; i < grdToDisplay.Columns.Count; i++)
{
    string header = grdToDisplay.Columns[i].HeaderText;
}

编辑:



然后,您有了AutoGenerateColumns=true,并且仅对声明性添加的列进行计数。因此,在之后,请使用此代码,您已对GridView进行了数据绑定(bind):
for (int i = 0; i < grdToDisplay.HeaderRow.Cells.Count; i++)
{
    string header = grdToDisplay.HeaderRow.Cells[i].Text;
}

10-07 17:14