我有一个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;
}