我有管理datagridview对象的方法:

internal static void LoadChannelsInGrid(DataGridView dg, Label noDataLbl, string feedUrl)
{
    var response = RssManager.GetRss(feedUrl);
    if (response != null)
    {
        noDataLbl.Visible = false;
        dg.Visible = true;
        var items = response.OrderByDescending(s => s.PubDateUnix);
        dg.DataSource = items.ToArray();

        FontifyDataGrid(dg);
    }
    else
    {
        noDataLbl.Visible = true;
        dg.Visible = false;
    }
}




private static void FontifyDataGrid(DataGridView dg)
{
    for (var i = 0; i < dg.Rows.Count; i++)
    {
        var item = dg.Rows[i].DataBoundItem as ChannelData;
        if (item == null)
        {
            continue;
        }

        if (!item.IsLoaded)
        {
            var actualFont = new Font("Microsoft Sans Serif", 7.8f, FontStyle.Bold);
            dg.Rows[i].DefaultCellStyle.Font = actualFont;
        }
    }
}


我打电话给:

LoadChannelsInGrid(dataGridView1, noDataLbl, "https://....");


似乎行(哪个模型项满足IsLoaded值)没有粗体样式,仍然看起来很规则。

为什么呢

最佳答案

如果我正确理解,当IsLoaded属性为true时,您需要将字体加粗。

在这种情况下,您需要将if (!item.IsLoaded)更新为if (item.IsLoaded)

关于c# - 将字体更改为DataGridView行在WinForms C#中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55999373/

10-13 09:43