gridview改变行颜色
我的Gridview<asp:GridViewID="GridView1"align="center"AutoGenerateColumns="False"runat="...
我的Gridview
<asp:GridView ID="GridView1" align="center" AutoGenerateColumns="False" runat="server"
CellPadding="4" ForeColor="#333333" GridLines="None"
onrowdatabound="GridView1_RowDataBound" Width="100%" AllowPaging="True"
onpageindexchanging="GridView1_PageIndexChanging" AllowSorting="True">
<RowStyle BackColor="#E3EAEB" />
<Columns>
<asp:TemplateField HeaderText="项目编号">
<ItemTemplate>
<a href ="project.aspx?id=<%#DataBinder.Eval(Container.DataItem,"p_num")%>" target="_self"><%#DataBinder.Eval(Container.DataItem,"p_num")%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="p_year" HeaderText="项目年度" >
<ItemStyle HorizontalAlign="Center" Width="10%"/>
</asp:BoundField>
<asp:BoundField DataField="p_name" HeaderText="项目名称" >
<ItemStyle HorizontalAlign="Center" Width="30%"/>
</asp:BoundField>
<asp:BoundField DataField="p_schedule" HeaderText="项目进度" >
<ItemStyle HorizontalAlign="Center" Width="15%"/>
</asp:BoundField>
<asp:BoundField DataField="p_chief" HeaderText="负责人" >
<ItemStyle HorizontalAlign="Center" Width="15%"/>
</asp:BoundField>
<asp:BoundField DataField="p_materialiy" HeaderText="重要度" >
<ItemStyle HorizontalAlign="Center" Width="13%"/>
</asp:BoundField></Columns>
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
我后台这样写的
if (e.Row.Cells[3].Text ==" 5.确认")
{
e.Row.BackColor = System.Drawing.Color.Red ;
}
提示超出范围。可是我的GRIDVIEW很多列啊!
该怎么办。
知道的再回答 展开
<asp:GridView ID="GridView1" align="center" AutoGenerateColumns="False" runat="server"
CellPadding="4" ForeColor="#333333" GridLines="None"
onrowdatabound="GridView1_RowDataBound" Width="100%" AllowPaging="True"
onpageindexchanging="GridView1_PageIndexChanging" AllowSorting="True">
<RowStyle BackColor="#E3EAEB" />
<Columns>
<asp:TemplateField HeaderText="项目编号">
<ItemTemplate>
<a href ="project.aspx?id=<%#DataBinder.Eval(Container.DataItem,"p_num")%>" target="_self"><%#DataBinder.Eval(Container.DataItem,"p_num")%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="p_year" HeaderText="项目年度" >
<ItemStyle HorizontalAlign="Center" Width="10%"/>
</asp:BoundField>
<asp:BoundField DataField="p_name" HeaderText="项目名称" >
<ItemStyle HorizontalAlign="Center" Width="30%"/>
</asp:BoundField>
<asp:BoundField DataField="p_schedule" HeaderText="项目进度" >
<ItemStyle HorizontalAlign="Center" Width="15%"/>
</asp:BoundField>
<asp:BoundField DataField="p_chief" HeaderText="负责人" >
<ItemStyle HorizontalAlign="Center" Width="15%"/>
</asp:BoundField>
<asp:BoundField DataField="p_materialiy" HeaderText="重要度" >
<ItemStyle HorizontalAlign="Center" Width="13%"/>
</asp:BoundField></Columns>
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
我后台这样写的
if (e.Row.Cells[3].Text ==" 5.确认")
{
e.Row.BackColor = System.Drawing.Color.Red ;
}
提示超出范围。可是我的GRIDVIEW很多列啊!
该怎么办。
知道的再回答 展开
2个回答
展开全部
呃~循环单元格是为了隔行显示不同的颜色。 Repeater控件也跟其他空间差不多的 我记得不光有项模板 还有分割项模板吧 那你就把项模板里的东西复制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Repeater控件也跟其他空间差不多的 我记得不光有项模板 还有分割项模板吧 那你就把项模板里的东西复制粘贴到分各项模板里 然后给他重写一个样式不就行了么. 还省得你用这个循环遍历的方法了.性能能好一些
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询