将粗体字体应用于datagridview中的两个连续行

时间:2015-07-08 10:42:00

标签: c# visual-studio-2012 datagridview fonts

我在datagridview中有两个连续的行,两者都需要是粗体。我已将下行的文本颜色更改为红色,如下所示。虽然我似乎无法找到类似的大胆功能。

cashBookRowsMarchTotals.Rows[1].DefaultCellStyle.ForeColor = Color.Red;

3 个答案:

答案 0 :(得分:0)

我使用以下代码将两行加粗,但是想知道是否可以一次将粗体(或其他样式)应用于多行/列?

cashBookRowsMarchTotals.Rows[0].DefaultCellStyle.Font = new Font(cashBookRowsMarchTotals.Font, FontStyle.Bold); cashBookRowsMarchTotals.Rows[1].DefaultCellStyle.Font = new Font(cashBookRowsMarchTotals.Font, FontStyle.Bold);

答案 1 :(得分:0)

我看到了您的答案,我想让您了解 dataGridView CellFormatting 事件。它实际上是根据行索引或列值格式化dataGridView。

此代码示例根据列的值更改字体,但您可以轻松地将其更改为按行索引而不是列值进行过滤。

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        // Change the color of the row if the value on column1 is > 0
        if (e.ColumnIndex == 1 && Convert.ToDecimal(e.Value) > 0)  // Column1
        {
            this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Red;  // Set font color red
            this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.Font = new System.Drawing.Font(this.Font, FontStyle.Bold);   // Set Bold   
        }
        if (e.ColumnIndex == (int)transactionsDGV.AmountDue && Convert.ToDecimal(e.Value) <= 0)  // Column Amount Due
        {
            this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Black;  // Set font color black  
        }
    }

答案 2 :(得分:0)

使用 DataGridView

的Poperty

RowsDefaultCellStyle 单击椭圆[ ... ]并设置字体属性