问题描述
T1:bbsiduserneirongsystemT2REIDbbsidreplayGRIDVIEW显示主细表(即先显示T1,然后传bbsid加上链接后显示T2的回复)想问怎么在主页面显示回复数,如果有回复那一行标识为红色
解决方案
解决方案二:
两个表做Innerjoin连接,回复大于0的加个颜色就成了~~
解决方案三:
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){DataRowdr=(DataRow)e.Row.DataItem;if(dr["Name"]=="Peter"){e.Row.Style["backgroundColor"]="#F7F6F3";}}}
解决方案四:
怎么来统计回复的贴呢?又在哪判断?
解决方案五:
引用2楼HDNGO的回复:
C#codeprotectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){DataRowdr=(DataRow)e.Row.DataItem;if(dr["Name"]=="Peter"){e.Row.Style["backgroundColor"]="#F7F6F3";}}}
if(dr["Name"]=="Peter")这句什么意思,我现在有个字段count如果是0就是正常显示,是1就显示为#F7F6F3
解决方案六:
if(dr["Name"]=="Peter")这句什么意思,我现在有个字段count如果是0就是正常显示,是1就显示为#F7F6F3---------------------------------------------------------------------------------------if(dr["count"]>0){e.Row.Style["backgroundColor"]='#F7F6F3'}
解决方案七:
无法将类型为“System.Data.DataRowView”的对象强制转换为类型“System.Data.DataRow”
解决方案八:
无法将类型为“System.Data.DataRowView”的对象强制转换为类型“System.Data.DataRow”。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.InvalidCastException:无法将类型为“System.Data.DataRowView”的对象强制转换为类型“System.Data.DataRow”。源错误:行131:if(e.Row.RowType==DataControlRowType.DataRow)行132:{行133:DataRowdr=(DataRow)e.Row.DataItem;行134:if(dr["count"]=="0")行135:{
解决方案九:
if((int)dr["count"]==0)
解决方案十:
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){DataRowdr=(DataRow)e.Row.DataItem;DataRowViewdr=e.Row.DataItemasDataRowView;if(dr["Name"]=="Peter"){e.Row.Style["backgroundColor"]="#F7F6F3";}}}
解决方案十一:
if(dr["count"].ToString()=="0")
解决方案十二:
无法将类型为“System.Data.DataRowView”的对象强制转换为类型“System.Data.DataRow”。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。-------------------------------------------------------------------------------DataRowdr=(DataRow)e.Row.DataItem;改成:DataRowViewdr=e.Row.DataItemasDataRowView;
解决方案十三:
publicvoidproductsGridView_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){intcount=Convert.ToInt32(DataBinder.Eval(e.Row.DataItem,"count"));if(count==0)e.Row.BackColor=Color.Yellow;}}
解决方案十四:
引用12楼HDNGO的回复:
C#codepublicvoidproductsGridView_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){intcount=Convert.ToInt32(DataBinder.Eval(e.Row.DataItem,"count"));if(count==0)e.Row.BackColor=Color.Yellow;}}
我以前也是这样做的,绝对可以