Изменение шрифта на строку DataGridView не работает в WinForms C # - PullRequest
2 голосов
/ 06 мая 2019

У меня есть методы, которые управляют объектом 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) не имеют жирного стиля, все еще выглядят обычными.

Почему?

1 Ответ

1 голос
/ 06 мая 2019

Если я правильно понял, шрифт должен быть жирным, когда свойство IsLoaded имеет значение true.

В этом случае вам необходимо обновить if (!item.IsLoaded) до if (item.IsLoaded)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...