Отображение изображения в текстовом поле привязки DataGridViewImageColumn - PullRequest
7 голосов
/ 20 марта 2012

Я работаю над проектом WindowsForm, и в моей форме у меня есть DataGridView с DataGridViewImageColumn, который должен отображать статус строки (включен / отключен) с использованием изображения.

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

Как я могу связать этот столбец с DataGridViewImageColumn, показывающим правильное изображение?

1 Ответ

14 голосов
/ 20 марта 2012

Всякий раз, когда у меня возникают вопросы о том, как сделать что-то в DataGridView, я сначала обращаюсь к часто задаваемым вопросам Microsoft.

http://www.windowsclient.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc

Обычно в этой ситуации я обрабатываю событие CellFormatting, чтобы установитьизображение, основанное на значении в ячейке.

Таким образом, я бы сохранял свои изображения в виде списка изображений, а затем имел код в формате CellFormatting, как показано ниже:

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (dgv.Columns[e.ColumnIndex].Name == "status")
    {
        if (e.Value != null)
        {
            if (e.Value.ToString() == "1")
            {
                e.Value = imageList1.Images[1];
            }
            else
            {
                e.Value = imageList1.Images[2];
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...