问题描述
把数据库中的数据显示在gridview控件中。能不能根据表中的某一列(表示颜色如红,黄,蓝)使另一列的数据(如123,234,345)变成该指定颜色的数据这列的数据123是红色的,234是黄色的,345是蓝色的谢谢!
解决方案
解决方案二:
在RowDataBound中判断
解决方案三:
能不能详细些啊?给些代码更好
解决方案四:
表达式绑定。
解决方案五:
你在RowDataBound事件中写,根据你的不同的数据做判断,就可以了..如果使用了数据绑定,可以触发datagridview的RowDataBound事件protectedvoidGridViewTransportPapers_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){if(....){e.Row.BackColor=Color.Red;}elseif(...){e.Row.BackColor=Color.Blue;}elsee.Row.BackColor=Color.yellow;}}
解决方案六:
RowDataBound这个是对的..在数据绑定后触发..循环遍历控件的每行,然后做相关的处理
解决方案七:
asp:TemplateFieldHeaderText="age"SortExpression="age"><ItemTemplate><asp:LabelID="Label2"runat="server"Text='<%#Bind("name")%>'ForeColor='<%#GetAgeColor((int)Eval("Age"))%>'></asp:Label></ItemTemplate>
protectedSystem.Drawing.ColorGetAgeColor(intage){if(age<21)returnSystem.Drawing.Color.Red;elseif(age<74)returnSystem.Drawing.Color.Blue;elsereturnSystem.Drawing.Color.Green;}
这是根据数据源来计算。所以,本列显示人名,但是根据此人的年龄来绑定不同ForeColor。
解决方案八:
<asp:TemplateFieldHeaderText="姓名"><ItemTemplate><asp:LabelID="Label2"runat="server"Text='<%#Bind("name")%>'ForeColor='<%#GetAgeColor((int)Eval("Age"))%>'></asp:Label></ItemTemplate><EditItemTemplate><asp:TextBoxID="TextBox2"runat="server"Text='<%#Bind("name")%>'></asp:TextBox></EditItemTemplate></asp:TemplateField>
解决方案九:
Up
解决方案十:
学习6楼
解决方案十一:
mark
解决方案十二:
1楼和6、7楼分别是两种方式,都可以
解决方案十三:
引用1楼sharpblade的回复:
在RowDataBound中判断
具体做法是这样的:protectedvoidGridView1_RowDataBount(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){stringkey=DataBinder.Eval(e.Row.DataItem,"颜色").ToString();if(key=="红"){e.Rows.cell[3].text="<fontcolor=red>"+e.Rows.cell[3].text+"</font>";//假定你想改变颜色的是GridView的第四列(从零开始编号的)}}}
解决方案十四:
up
解决方案十五:
上面的兄弟给的代码,很细了,不多说了。