c# – 如何使用基于单元格值的颜色设置Asp.net GridView单元格的
发布时间:2020-12-16 01:57:10 所属栏目:百科 来源:网络整理
导读:我有一个Gridview,它有一个名为student_Class的列.网格视图上有大约80个Class.我使用GroupBy查询对此类进行了分组. 现在我想用不同的颜色设计这个不同的类.这怎么可能? 在RowDataBound上编写所有类并给出颜色并不容易. 还有其他方法吗? 码: groups = (Arr
我有一个Gridview,它有一个名为student_Class的列.网格视图上有大约80个Class.我使用GroupBy查询对此类进行了分组.
现在我想用不同的颜色设计这个不同的类.这怎么可能? 还有其他方法吗? 码: groups = (ArrayList)Session["selectedclass"]; SELECT id,name,student_Class FROM student where student_Class='"+groups[0].ToString().Trim()+"' group by student_Class. 提供数据 id name student_class 1 aa A 2 bb A 3 cc A 4 dd B 5 ee B 6 as B 7 ss B 8 AZZ D 值A的学生班需要相同的颜色(对于单元格),B需要其他颜色.等. 解决方法
ASPX:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1" ondatabound="GridView1_DataBound" onrowdatabound="GridView1_RowDataBound"> <Columns> <asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" /> <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" /> <asp:BoundField DataField="student_class" HeaderText="student_class" SortExpression="student_class" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ConnectionStrings:SiteConnectionString %>" SelectCommand="SELECT * FROM [student]"> </asp:SqlDataSource> 代码背后: static string[,] ClassNames = { {"A","Red"},{"B","Blue"},{"C","Pink"},{"D","Green"},// and so on }; protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { string className = e.Row.Cells[2].Text; string color = "Black"; for (int i = 0; i <= ClassNames.GetUpperBound(0); i++) { if (ClassNames[i,0] == className) { color = ClassNames[i,1]; e.Row.Cells[2].ForeColor = Color.FromName(color); e.Row.Cells[2].BorderColor = Color.Black; break; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |