نوشته شده توسط
mohammad5593
دست شما استاد گرامی درد نکنه
لطفا بفر مائید چطوری میشه عکس داخل گرید2 را به صورت Stretch یعنی متناسب با طول و عرض گرید2 سایز عکس کشیده شود
در حال حاضر تصویر به صورت Zoom به نمایش در میاد.
با توجه به اینکه بنده نمی خواهم سایز طول و عرض عکس را فیلتر کنم و کاربر مجاز به درج هرنوع عکسی با هر سایزی در دیتابیس باشه
Capture.JPG
کارهای زیادی می شه در این زمینه انجام داد از جمله این که ستون مربوط به تصاویر رو هنگام بایند کردن اطلاعات دیز ایبل کنید و یه ستون تصویر از طریق کد نیویسی اضافه کنید و فیلد مربوط به تصاویر رو به این ستون اختصاص دهید :
imageColumn = new DataGridViewImageColumn();
imageColumn.Width = 100;
dataGridView1.Columns.Add(imageColumn);
ویا اینطوری :
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
DataGridViewImageCell cell = (dataGridView1.Rows[e.RowIndex].Cells[2] as DataGridViewImageCell);
Bitmap bmp = (Bitmap) cell.Value;
bmp = (Bitmap) bmp.GetThumbnailImage(200, 300, null, IntPtr.Zero);
dataGridView1.Rows[e.RowIndex].Cells[0].Value = bmp;
}
بعد از طریق این کد می تونید نحوه نمایش تصویر در این ستونی که از طریق کد نویسی ایجاد کرده اید رو ست کنید :
for(int i = 0; i < dataGridView1.Columns.Count; i ++)
if(dataGridView1.Columns[i] is DataGridViewImageColumn) {
((DataGridViewImageColumn)dataGridView1.Columns[i]).ImageLayout = DataGridViewImageCellLayout.Stretch;
break;
}