为什么gridview的rowdatabound的header行的cells的TEXT 永远是空值

udSoft2020 2009-05-06 12:27:48


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Label olabel;
//弹出明细行的数据的 背景色改掉!
if (e.Row.RowType == DataControlRowType.Header )
{
for (int iCol = 0; iCol < e.Row.Cells.Count; iCol++)
{
if (e.Row.Cells[iCol].Text.ToString().IndexOf("小计") > 0)
//这个TEXT取出的值永远是空的?列是自动生成的 后在DATAROW里 这样写是可以取到值的,不知道为什么
{
e.Row.Cells[iCol].BackColor = System.Drawing.Color.Green;
}


...全文
242 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
吕津 2009-05-06
  • 打赏
  • 举报
回复

if (e.Row.Cells[iCol].Text.ToString().IndexOf("小计") > -1)


试试吧,应该可以的。可以的话,别忘给分喔,谢谢!
udSoft2020 2009-05-06
  • 打赏
  • 举报
回复
if (this.GridView1.Columns[iCol].HeaderText.ToString().IndexOf("小计") > 0)



加上这个会超出 列的index
udSoft2020 2009-05-06
  • 打赏
  • 举报
回复
楼上的都不是正解

原来是 allowsorting=true 搞的鬼

只有allowsorting为false才可以找的到这个值

不知道有没有别的办法解决,在allowsorting=true下 怎么找标题文字
udSoft2020 2009-05-06
  • 打赏
  • 举报
回复
不对呀
在DATAROWBOUND时 COLUMNS 只有1列!!!!!
udSoft2020 2009-05-06
  • 打赏
  • 举报
回复
再顶
真的不行
吕津 2009-05-06
  • 打赏
  • 举报
回复

2楼正解!
xue1234567890 2009-05-06
  • 打赏
  • 举报
回复
lz试一下this.GridView1.Columns[iCol].HeaderText这个值肯定不是空吧?

lz是不是想实现标头的字段为"小计"的背景色变成绿色呀?

如果是的话...
if (this.GridView1.Columns[iCol].HeaderText.ToString()=="小计")


吕津 2009-05-06
  • 打赏
  • 举报
回复
吕津 2009-05-06
  • 打赏
  • 举报
回复

110,577

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧