Как подчеркнуть только определенную строку в представлении DataGrid с помощью приложения Windows Forms - PullRequest
1 голос
/ 18 апреля 2019

Я разрабатываю настольное приложение, используя c # winforms, где у меня есть форма ввода данных.в этих полях ввода данных я копирую данные из слова, имеющего текстовый формат, например подчеркивание и полужирный шрифт, и вставляю их в мое текстовое поле и сохраняю их.когда я показываю введенные / сохраненные данные в виде сетки, он не будет отображать подчеркивание текста и жирный шрифт.Пример

При вставке данных из MS word в текстовое поле это выглядит следующим образом:

Date: 18-4-19 (underline + bold)
some text
some text
some text
some text
Date: 19-4-19 (underline + bold)
some text
some text
some text
some text

, когда я сохраняю данные и показываю их в виде таблицы, отображается дата без подчеркивания + полужирный, как показано ниже

Date: 18-4-19 
some text
some text
some text
some text
Date: 19-4-19 
some text
some text
some text
some text

как я могу добиться того, чтобы дата оставалась в подчеркивании + полужирный в gridview

нужна ваша помощь.

1 Ответ

0 голосов
/ 18 апреля 2019

Вы можете сделать это в событии CellFormatting следующим образом: второй оператор if может отличаться в зависимости от ваших потребностей:

Я предполагаю, что вашим именем DataGridView является 'myDataGridView', а имя столбца гдевы хотите применить ваши изменения: columnName

Вы можете поместить этот код подписки на событие (1-я строка) либо в свой конструктор сразу после предварительно сгенерированного метода InitializeComponent (), либо подписаться на это событие через Visual Studio /Недвижимость / События.

    ..
    myDataGridView.CellFormatting += myDataGridView_CellFormatting;
    ..

    private void myDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
        // First ill check if im in right column
        // Second if checks if the value starts with "Date"
        if (e.ColumnIndex == myDataGridView.Columns("columnName").Index) {
            if (myDataGridView.Rows(e.RowIndex).Cells("columnName").Value.ToString().StartsWith("Date")) {
                 // apply your formatting
                 myDataGridView.Font = new Font(e.CellStyle.Font, FontStyle.Bold | FontStyle.Underline);
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...