Как добавить различные значки / изображения в заголовок строки datagridview в C #? - PullRequest
3 голосов
/ 07 июля 2011

Я хочу динамически добавлять другое изображение в заголовок строки вида сетки данных Windows. это нужно сделать, как проверить любое значение ячейки и, если оно> 10, отобразить какое-либо изображение, в противном случае отобразить другое изображение. Как это сделать?

Ответы [ 3 ]

3 голосов
/ 07 июля 2011

Добавление обработчика события OnRowDataBound в GridView

В обработчике событий - проверьте заголовок и обработайте каждый столбец соответственно

protected virtual void OnRowDataBound(GridViewRowEventArgs e) {
   if (e.Row.RowType == DataControlRowType.Header) {
       // process your header here..
    }
}

Для получения дополнительной информации перейдите сюда: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewroweventargs.row.aspx

2 голосов
/ 07 июля 2011

Вы можете добавлять изображения в заголовки строк DataGridView в событии DataGridView.RowPostPaint .

Вот ссылка на статью о CodeProject, которая, по-видимому, достаточно хорошо описывает это (я не пытался сам кодировать): Изображения ячеек заголовка строки в DataGridView

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

Нечто подобное должно послужить отправной точкой:

private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) {
    // As an example we'll check contents of column index 1 in our DGV.
    string numberString = dataGridView1.Rows[e.RowIndex].Cells[1].Value as string;
    if (numberString != null) {
        int number;
        if (Int32.TryParse(numberString, out number)) {
            if (number > 10) {
                // Display one icon.
            } else {
                // Display the other icon.
            }
        } else {
            // Do something because the string that is in the cell cannot be converted to an int.
        }
    } else {
        // Do something because the cell Value cannot be converted to a string.
    }
}
0 голосов
/ 07 июля 2011

Я не совсем уверен, как добавлять изображения ... но эта ссылка имеет хороший пример записи чисел в заголовках строк, поэтому вы можете обновить его с условием> 10, чтобы отобразитьваше изображение..

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