Доступ к ячейкам в виде сетки - PullRequest
0 голосов
/ 04 октября 2011

На прошлой неделе я начал пытаться использовать Winforms для автоматизации некоторых отчетов.Я не наслаждаюсь переходом (каким бы простым он ни был для некоторых из вас)!

В настоящее время я отображаю данные из представления SQL, созданного с помощью Oracle SQL Developer.Я принял данные, используя Задачи DataGridView, чтобы выбрать таблицу и отобразить ее (казалось, самый простой метод).

Все данные отображаются нормально.Однако теперь я хотел бы получить доступ к ячейкам таблицы.Я хочу иметь возможность изменять цвета ячеек в зависимости от их значений и извлекать некоторые данные, если это необходимо.

Чтобы получить доступ к данным и выделить строки, я надеялся сделать что-то подобное

protected void MyGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        int theValue = Convert.ToInt32(e.Row.Cells[0].Text);

            if (theValue>0)
                e.Row.Cells[0].BackColor = System.Drawing.Color.Red
    }
}

Это не работает, потому что событие не запускается.Я думаю, что я должен связать данные с моим gridview, но я загрузил все данные через дизайнер.Это проблема?Я понятия не имею, как самому его кодировать, я пробовал раньше, но он шатался.

Более того, когда я пытаюсь изменить запрос SQL для базы данных через конструктор, он не работает.Я думаю, что схожу с ума от такой скорости!

1 Ответ

1 голос
/ 04 октября 2011

Вам необходимо использовать событие CellFormatting для DataGridView, как, например,

private void MyGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if ((int)MyGridView.Rows[e.RowIndex].Cells[0].Value > 30)
            {
                e.CellStyle.BackColor = System.Drawing.Color.Red;
                e.CellStyle.ForeColor = System.Drawing.Color.White;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...