我有datagridview,现在我想根据行号是偶数还是奇数来改变每行的背景颜色。
我认为必须有更简单的方法来实现这一目标。然后使用例如这部分代码并对其进行修改,以便改变dtg行的颜色。如果这段代码是这样做的方法之一,有人可以帮助我改进它,这样如果狂热,索引就不会抛出异常吗?
public void bg_dtg()
{
try
{
for (int i = 0; i <= dataGridView1.Rows.Count ; i++)
{
if (IsOdd(i))
{
dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.LightBlue;
}
}
}
catch (Exception ex)
{
MessageBox.Show(""+ex);
}
}
public static bool IsOdd(int value)
{
return value % 2 != 0;
}
感谢您的时间和答案。
答案 0 :(得分:20)
表单设计器中有一个DataGridView
备用行视图样式选项。属性网格中的AlternatingRowsDefaultCellStyle
答案 1 :(得分:5)
您可以尝试此代码
for (int i = 0; i < GridView1.Rows.Count; i++) {
if (i % 2 == 0) {
GridView1.Rows[i].Cells[0].Style.BackColor = System.Drawing.Color.Green;
GridView1.Rows[i].Cells[1].Style.BackColor = System.Drawing.Color.Green;
}
else {
GridView1.Rows[i].Cells[0].Style.BackColor = System.Drawing.Color.Red;
GridView1.Rows[i].Cells[1].Style.BackColor = System.Drawing.Color.Red;
}
}
答案 2 :(得分:3)
GridView行基于零index
,你应该比行count
少一个。
更改
for (int i = 0; i <= dataGridView1.Rows.Count ; i++)
到的
for (int i = 0; i < dataGridView1.Rows.Count ; i++)
您可以使用AlternatingRowsDefaultCellStyle属性设置替代行stye。
答案 3 :(得分:2)
您可以使用AlternatingRowsDefaultCellStyle
或强>
您也可以手动执行
foreach (DataGridViewRow row in dataGridView1.Rows)
if (row.Index % 2==0 )
{
row.DefaultCellStyle.BackColor = Color.Red;
}
答案 4 :(得分:1)
AlternatingRowStyle-BackColor = "#C5C5C5"
我们可以直接在ASP网格中添加代码
<asp:GridView ID="Gridview1" runat="server"
AlternatingRowStyle-BackColor = "#F3F3F3"
AutoGenerateColumns="true">
</asp:GridView>