Невозможно отобразить полное изображение в ячейке таблицы данных - PullRequest
5 голосов
/ 18 августа 2011

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

Я использую настольное приложение winforms .....

моя проблема в том, что я не могу правильно отобразить изображение в ячейке таблицы данных .. см. диаграмму ниже total grid view image

я хочу отобразить это изображение в столбце изображения фактического продукта для каждой ячейки в этом столбце actual image need to show in every row

эта задача очень проста в веб-формах с использованием управления списком данных, но я не знаю, как отобразить полное изображение в ячейке вида сетки

может помочь кто-нибудь в этом ....

большое спасибо .......

и именно здесь я связываю сетку данных с помощью запроса linq ..

      private void EquipmentFinder_Load(object sender, EventArgs e)
     {

        var products = from prods in abc.products
                       select new
                       {
                           productid = prods.product_Id,   //0                            
                           productname =  prods.product_Name, //1
                           productimage = prods.product_Image, //2
                           productprice = prods.product_Price,//3
                           productdescr = prods.product_Description, //4

                       };
        productbindingsource.DataSource = products;
        productgridview.DataSource = productbindingsource;
        productgridview.Columns[0].Visible = false;
        productgridview.Columns[3].Visible = false;
        productgridview.Columns[4].Visible = false;
    }

Ответы [ 3 ]

9 голосов
/ 18 августа 2011

Установите для ImageLayout столбца значение Stretch, чтобы решить эту проблему.

ОБНОВЛЕНИЕ: используйте следующий код для изменения свойства ImageLayout:

for(int i = 0; i < dataGridView1.Columns.Count; i ++)
                if(dataGridView1.Columns[i] is DataGridViewImageColumn) {
                    ((DataGridViewImageColumn)dataGridView1.Columns[i]).ImageLayout = DataGridViewImageCellLayout.Stretch;
                    break;
                }
0 голосов
/ 09 ноября 2012

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

0 голосов
/ 18 августа 2011

Установить для свойства DataGridViewImageColumn.ImageLayout значение DataGridViewImageCellLayout.Zoom

Если вы установите «Растянуть», ваше изображение будет пропорционально масштабировано, чтобы соответствовать всей ячейке. И это, вероятно, не то, что вы хотите.

Установите для увеличения Графика равномерно увеличивается до тех пор, пока не заполнит ширину или высоту вмещающей ячейки.

По умолчанию установлено значение «Нормальный»: Изображение отображается по центру с использованием собственного разрешения.

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